MCPcopy Create free account
hub / github.com/ImageEngine/cortex / testJPG

Method testJPG

test/IECoreImage/ImageWriterTest.py:435–493  ·  view source on GitHub ↗
( self )

Source from the content-addressed store, hash-verified

433 self.assertEqual( imgBlindData, IECore.CompoundData( headerValues ) )
434
435 def testJPG( self ) :
436
437 displayWindow = imath.Box2i(
438 imath.V2i( 0, 0 ),
439 imath.V2i( 99, 99 )
440 )
441
442 dataWindow = displayWindow
443
444 # JPEG default channels are 8-bit
445 rawImage = self.__makeIntImage( dataWindow, displayWindow, dataType = IECore.UCharVectorData, maxInt = 2**8-1 )
446
447 for dataType in [ IECore.FloatVectorData, IECore.HalfVectorData, IECore.DoubleVectorData ] :
448
449 self.setUp()
450
451 rawMode = ( dataType != IECore.FloatVectorData )
452 imgOrig = self.__makeFloatImage( dataWindow, displayWindow, dataType = dataType )
453 w = IECore.Writer.create( imgOrig, os.path.join( "test", "IECoreImage", "data", "jpg", "output.jpg" ) )
454 self.assertIsInstance( w, IECoreImage.ImageWriter )
455 w['rawChannels'].setTypedValue( rawMode )
456 w.write()
457
458 self.assertTrue( os.path.exists( os.path.join( "test", "IECoreImage", "data", "jpg", "output.jpg" ) ) )
459
460 # Now we've written the image, verify the rgb
461
462 r = IECore.Reader.create( os.path.join( "test", "IECoreImage", "data", "jpg", "output.jpg" ) )
463 r['rawChannels'].setTypedValue( rawMode )
464 imgNew = r.read()
465
466 if rawMode :
467 self.assertEqual( type(imgNew['R']), IECore.UCharVectorData )
468 self.__verifyImageRGB( rawImage, imgNew, 0.008 )
469 else :
470 self.assertEqual( type(imgNew['R']), IECore.FloatVectorData )
471 self.__verifyImageRGB( imgOrig, imgNew, 0.008 )
472
473 self.tearDown()
474
475 for dataType in [ ( IECore.UIntVectorData, 2**32-1), (IECore.UCharVectorData, 2**8-1 ) ] :
476
477 self.setUp()
478
479 imgOrig = self.__makeIntImage( dataWindow, displayWindow, dataType = dataType[0], maxInt = dataType[1] )
480 w = IECore.Writer.create( imgOrig, os.path.join( "test", "IECoreImage", "data", "jpg", "output.jpg" ) )
481 self.assertIsInstance( w, IECoreImage.ImageWriter )
482 w['rawChannels'].setTypedValue( True )
483 w.write()
484
485 self.assertTrue( os.path.exists( os.path.join( "test", "IECoreImage", "data", "jpg", "output.jpg" ) ) )
486
487 # Now we've written the image, verify the rgb
488 r = IECore.Reader.create( os.path.join( "test", "IECoreImage", "data", "jpg", "output.jpg" ) )
489 r['rawChannels'].setTypedValue( True )
490 imgNew = r.read()
491 self.__verifyImageRGB( rawImage, imgNew, 0.008 )
492

Callers

nothing calls this directly

Calls 10

__makeIntImageMethod · 0.95
__makeFloatImageMethod · 0.95
__verifyImageRGBMethod · 0.95
tearDownMethod · 0.95
typeFunction · 0.85
joinMethod · 0.80
setUpMethod · 0.45
createMethod · 0.45
writeMethod · 0.45
readMethod · 0.45

Tested by

no test coverage detected