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

Method testTIF

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

Source from the content-addressed store, hash-verified

581 self.tearDown()
582
583 def testTIF( self ) :
584
585 displayWindow = imath.Box2i(
586 imath.V2i( 0, 0 ),
587 imath.V2i( 99, 99 )
588 )
589
590 dataWindow = displayWindow
591
592 # TIFF default channels are uchar 8-bit
593 rawImage = self.__makeIntImage( dataWindow, displayWindow, dataType = IECore.UCharVectorData, maxInt = 2**8-1 )
594
595 for dataType in [ IECore.FloatVectorData, IECore.HalfVectorData, IECore.DoubleVectorData ] :
596
597 self.setUp()
598
599 rawMode = ( dataType != IECore.FloatVectorData )
600 imgOrig = self.__makeFloatImage( dataWindow, displayWindow, dataType = dataType )
601 w = IECore.Writer.create( imgOrig, os.path.join( "test", "IECoreImage", "data", "tiff", "output.tif" ) )
602 self.assertIsInstance( w, IECoreImage.ImageWriter )
603 w['rawChannels'].setTypedValue( rawMode )
604 w.write()
605
606 self.assertTrue( os.path.exists( os.path.join( "test", "IECoreImage", "data", "tiff", "output.tif" ) ) )
607
608 # Now we've written the image, verify the rgb
609 r = IECore.Reader.create( os.path.join( "test", "IECoreImage", "data", "tiff", "output.tif" ) )
610 r['rawChannels'].setTypedValue( rawMode )
611 imgNew = r.read()
612
613 if rawMode :
614 self.assertEqual( type(imgNew['R']), IECore.UCharVectorData )
615 self.__verifyImageRGB( rawImage, imgNew, 0.003 )
616 else :
617 self.assertEqual( type(imgNew['R']), IECore.FloatVectorData )
618 self.__verifyImageRGB( imgOrig, imgNew )
619
620 del r
621 self.tearDown()
622
623 for dataType in [ ( IECore.UIntVectorData, 2**32-1), (IECore.UCharVectorData, 2**8-1 ) ] :
624
625 self.setUp()
626
627 imgOrig = self.__makeIntImage( dataWindow, displayWindow, dataType = dataType[0], maxInt = dataType[1] )
628 w = IECore.Writer.create( imgOrig, os.path.join( "test", "IECoreImage", "data", "tiff", "output.tif" ) )
629 self.assertIsInstance( w, IECoreImage.ImageWriter )
630 w['rawChannels'].setTypedValue( True )
631 w.write()
632
633 self.assertTrue( os.path.exists( os.path.join( "test", "IECoreImage", "data", "tiff", "output.tif" ) ) )
634
635 # Now we've written the image, verify the rgb
636 r = IECore.Reader.create( os.path.join( "test", "IECoreImage", "data", "tiff", "output.tif" ) )
637 r['rawChannels'].setTypedValue( True )
638 imgNew = r.read()
639 self.__verifyImageRGB( rawImage, imgNew, 0.003 )
640

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