def testCompatibleBitDepth(): filepath = tempfile.NamedTemporaryFile( prefix="bitDepthTest-", suffix=".png" ) tuttle.compute( [ tuttle.NodeInit( "tuttle.checkerboard", size=[50,50], explicitConversion="8i" ), tuttle.NodeInit( "tuttle.swscale", height=500 ), # only supports 8ui tuttle.NodeInit( "tuttle.pngwriter", filename=filepath.name ), ] )
def testTranscodeToDefaultCodec(): tuttle.compute( [ tuttle.NodeInit( "tuttle.avreader", filename="TuttleOFX-data/video/bars_100.avi", v_colorspace=2 ), # video with PAR 16/15=1.066667 tuttle.NodeInit( "tuttle.invert" ), tuttle.NodeInit( "tuttle.avwriter", filename=".tests/testTrancodeToDefaultCodec.mov", v_colorspace=2, v_aspect=[0,1] ), ], tuttle.ComputeOptions(0,20) )
def testIncompatibleBitDepth(): filepath = tempfile.NamedTemporaryFile( prefix="bitDepthTest-", suffix=".png" ) tuttle.compute( [ tuttle.NodeInit( "tuttle.checkerboard", size=[50,50] ), tuttle.NodeInit( "tuttle.blur", size=[0.03, 0.05] ), # only supports 32f tuttle.NodeInit( "tuttle.swscale", height=500 ), # only supports 8ui tuttle.NodeInit( "tuttle.pngwriter", filename=filepath.name ), ] )
def testTimeShift(): tuttle.compute( [ #tuttle.NodeInit( "tuttle.oiioreader", filename="/home/fab/imgTests/seqTga/###.tga" ), tuttle.NodeInit( "tuttle.oiioreader", filename="TuttleOFX-data/image/openexr/DisplayWindow/t##.exr" ), tuttle.NodeInit( "tuttle.invert" ), tuttle.NodeInit( "tuttle.timeshift", 12 ), tuttle.NodeInit( "tuttle.gamma", master=.5 ), tuttle.NodeInit( "tuttle.jpegwriter", filename=".tests/fromExr/output-####.jpg" ), ] )
def generateThumbnail(imgFile): from pyTuttle import tuttle tuttle.core().preload(False) tuttle.compute([ tuttle.NodeInit("tuttle.pngreader", filename=imgFile), tuttle.NodeInit("tuttle.resize", width=256, keepRatio=1), tuttle.NodeInit("tuttle.pngwriter", filename=imgFile + "-thumbnail"), ])
def testSimpleNodeList(): tuttle.compute([ tuttle.NodeInit("tuttle.checkerboard", size=[50, 50], explicitConversion="8i"), tuttle.NodeInit("tuttle.invert"), tuttle.NodeInit("tuttle.swscale", height=500), tuttle.NodeInit("tuttle.pngwriter", filename=".tests/output.png"), ])
def generateThumbnail(imgFile): from pyTuttle import tuttle tuttle.core().preload(False) tuttle.compute([ tuttle.NodeInit( "tuttle.pngreader", filename=imgFile), tuttle.NodeInit( "tuttle.resize", width=256, keepRatio=1), tuttle.NodeInit( "tuttle.pngwriter", filename=imgFile + "-thumbnail"), ])
def testSimpleNodeList(): tuttle.compute( [ tuttle.NodeInit("tuttle.checkerboard", size=[50, 50], explicitConversion="8i"), tuttle.NodeInit("tuttle.invert"), tuttle.NodeInit("tuttle.swscale", height=500), tuttle.NodeInit("tuttle.pngwriter", filename=".tests/output.png"), ] )
def testTrancodeToMpegpipe(): tuttle.compute([ tuttle.NodeInit("tuttle.avreader", filename="TuttleOFX-data/video/flame.avi", colorspace="bt709"), tuttle.NodeInit("tuttle.avwriter", filename=".tests/testTrancodeToMpegpipe.y4m", format="yuv4mpegpipe", videoCodec="rawvideo", colorspace="bt709", aspect=[0, 1]), ], tuttle.ComputeOptions(0, 10))
def testTimeShift(): tuttle.compute([ #tuttle.NodeInit( "tuttle.oiioreader", filename="/home/fab/imgTests/seqTga/###.tga" ), tuttle.NodeInit( "tuttle.oiioreader", filename="TuttleOFX-data/image/openexr/DisplayWindow/t##.exr"), tuttle.NodeInit("tuttle.invert"), tuttle.NodeInit("tuttle.timeshift", 12), tuttle.NodeInit("tuttle.gamma", master=.5), tuttle.NodeInit("tuttle.jpegwriter", filename=".tests/fromExr/output-####.jpg"), ])
def testLinearGraph(): nodes = [ tuttle.NodeInit( "tuttle.oiioreader", filename="TuttleOFX-data/image/openexr/DisplayWindow/t##.exr" ), tuttle.NodeInit( "tuttle.invert" ), tuttle.NodeInit( "tuttle.timeshift", 12 ), tuttle.NodeInit( "tuttle.gamma", master=.5 ), ] for i in range(100): nodes.append( tuttle.NodeInit( "tuttle.timeshift", 0 ) ) nodes.append( tuttle.NodeInit( "tuttle.jpegwriter", filename=".tests/fromExr/output-####.jpg" ) ) tuttle.compute( nodes )
def testMultipleCompute_simpleNodes(): assert tuttle.compute( [ tuttle.NodeInit( "tuttle.checkerboard", format="PAL" ), tuttle.NodeInit( "tuttle.invert" ), tuttle.NodeInit( "tuttle.colortransform", offsetGlobal=.2 ), tuttle.NodeInit( "tuttle.pngwriter", filename=".tests/output.png" ) ] )
def testMultipleCompute_simpleNodes(): assert tuttle.compute([ tuttle.NodeInit("tuttle.checkerboard", format="PAL"), tuttle.NodeInit("tuttle.invert"), tuttle.NodeInit("tuttle.blur", size=.2), tuttle.NodeInit("tuttle.pngwriter", filename=".tests/output.png") ])
def testMultipleCompute_simpleNodes(): assert tuttle.compute( [ tuttle.NodeInit( "tuttle.checkerboard", format="PAL" ), tuttle.NodeInit( "tuttle.invert" ), tuttle.NodeInit( "tuttle.blur", size=.2 ), tuttle.NodeInit( "tuttle.pngwriter", filename=".tests/output.png" ) ] )
def testMultipleCompute_simpleNodes(): assert tuttle.compute([ tuttle.NodeInit("tuttle.checkerboard", format="PAL"), tuttle.NodeInit("tuttle.invert"), tuttle.NodeInit("tuttle.colortransform", offsetGlobal=.2), tuttle.NodeInit("tuttle.pngwriter", filename=".tests/output.png") ])
def testOutputMemoryCache(): outputCache = tuttle.MemoryCache() tuttle.compute( outputCache, [ tuttle.NodeInit( "tuttle.checkerboard", format="PAL", explicitConversion="8i" ), tuttle.NodeInit( "tuttle.blur", size=.2 ), tuttle.NodeInit( "tuttle.invert" ), ] ) #print 'invert name:', invert.getName() imgRes = outputCache.get(0); print('type imgRes:', type( imgRes )) print('imgRes:', dir( imgRes )) print('FullName:', imgRes.getFullName()) print('MemorySize:', imgRes.getMemorySize())
def testTranscodeToMpegpipe(): tuttle.compute( [ tuttle.NodeInit( "tuttle.avreader", filename="TuttleOFX-data/video/flame.avi", v_colorspace=2 ), tuttle.NodeInit( "tuttle.avwriter", filename=".tests/testTrancodeToMpegpipe.y4m", f_format="yuv4mpegpipe", v_codec="rawvideo", v_colorspace=2, v_aspect=[0,1] ), ], tuttle.ComputeOptions(0,10) )