( self )
| 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 |
nothing calls this directly
no test coverage detected