123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- # import
- # ------------------------------------------------------------------------------------------
- import os, sys, math
- import numpy as np
- import easygui
- import colour
- # miam
- import miam.workflow.WFWorkflow as WF
- import miam.workflow.WFProcess as WP
- from miam.processing import NoOp, Duplicate,ExposureControl,TMO_Linear, TMO_CCTF
- # ------------------------------------------------------------------------------------------
- # MIAM project 2020
- # ------------------------------------------------------------------------------------------
- # author: remi.cozot@univ-littoral.fr
- # ------------------------------------------------------------------------------------------
- def WF_test_00():
- # (o) Root
- # |
- # v
- # [ o ]
- # [ NoOp ]
- # [ o ]
- # |
- # v
- # (_) Leaf
- # process
- wf = WF.WFWorkflow(name="test_00")
- p1 = wf.addProcess(WP.WFProcess(name = 'NOP_01', process=NoOp.NoOp()))
- p2 = wf.addProcess(WP.WFProcess(name = 'NOP_02', process=NoOp.NoOp()))
- wf.connect(outputProcess = wf.getByName('NOP_01'),
- inputProcess = p2
- )
- wf.compile()
- def WF_test_01():
- # (o) Root
- # |
- # v
- # [ o ]
- # [ exposure ]
- # [ o ]
- # |
- # v
- # (_) Leaf
- # process
- wf = WF.WFWorkflow(name="test_01")
- exposure = wf.addProcess(WP.WFProcess(name = 'exposure', process=ExposureControl.ExposureControl()).setParameters({'EV': +1}))
- wf.compile()
- wf.compute()
- wf.display()
- def WF_test_02():
- # process
- wf = WF.WFWorkflow(name="test_02")
- duplicate = wf.addProcess(WP.WFProcess(name = 'duplicate', process=Duplicate.Duplicate()).setParameters({'nb': 2}))
- exposureP1 = wf.addProcess(WP.WFProcess(name = 'exposure+1', process=ExposureControl.ExposureControl()).setParameters({'EV': +1}))
- exposureM1 = wf.addProcess(WP.WFProcess(name = 'exposure-1', process=ExposureControl.ExposureControl()).setParameters({'EV': -1}))
- wf.connect(outputProcess = duplicate, inputProcess = exposureP1)
- wf.connect(outputProcess = duplicate, inputProcess = exposureM1)
- wf.compile()
- wf.compute()
- wf.display()
- def WF_test_03():
- # (o) Root
- # |
- # v
- # [ o ]
- # [ duplicate ]
- # [ o | o ]
- # / \
- # / \
- # v v
- # [ o ] [ o ]
- # [ exposure ] [ TMO CCTF ]
- # [ o ] [ o ]
- # | |
- # v v
- # [ o ] (_) Leaf
- # [ TMO linear ]
- # [ o ]
- # |
- # v
- # (_) Leaf
- # process
- wf = WF.WFWorkflow(name="test_03")
- duplicate = wf.addProcess(WP.WFProcess(name = 'duplicate', process=Duplicate.Duplicate()).setParameters({'nb': 2}))
- exposure = wf.addProcess(WP.WFProcess(name = 'exposure', process=ExposureControl.ExposureControl()).setParameters({'auto': True, 'target': 0.5, 'EV': 0}))
- tmo_linear = wf.addProcess(WP.WFProcess(name = 'tmo_linear', process=TMO_Linear.TMO_Linear()).setParameters({'min': 0.0, 'max': 1.0}))
- tmo_cctf = wf.addProcess(WP.WFProcess(name = 'tmo_cctf', process=TMO_CCTF.TMO_CCTF()).setParameters({'function':'sRGB'}))
- wf.setRoot(duplicate)
- wf.connect(outputProcess = duplicate, inputProcess = exposure)
- wf.connect(outputProcess = exposure, inputProcess = tmo_linear)
- wf.connect(outputProcess = duplicate, inputProcess = tmo_cctf)
- wf.setLeaf(tmo_linear)
- wf.setLeaf(tmo_cctf)
-
- wf.compile()
- wf.compute()
- wf.display()
- def WF_JSON():
- jsonFile = "../workflows/wf01.json"
- wf = WF.WFWorkflow.readWorkflow(jsonFile)
- wf.compute()
- wf.display()
|