diff --git a/model_server/clients/imagej/example_simple_ilastik.py b/model_server/clients/imagej/example_simple_ilastik.py new file mode 100644 index 0000000000000000000000000000000000000000..f42d9cd290f38b07d971b9440f9b7a6a42dba4f0 --- /dev/null +++ b/model_server/clients/imagej/example_simple_ilastik.py @@ -0,0 +1,49 @@ +import os +import sys + +from ij import IJ +from ij.plugin.filter import ParticleAnalyzer +from ij.plugin.frame import Recorder, RoiManager + +sys.path.append( + os.path.join( + os.path.expanduser('~'), 'model_server', 'source', 'model_server', 'clients' + ) +) + +from imagej.adapter import run_request_sequence +import ilastik_map_objects_simple +from ij import IJ + +params = { + 'pixel_classifier_path': 'c:/Users/rhodes/projects/proj0011-plankton-seg/exp0019/px-03.ilp', + 'object_classifier_path': 'c:/Users/rhodes/projects/proj0011-plankton-seg/exp0019/obj-07.ilp', + 'debug': True, + 'channel': 4, # zero-index + 'object_class': 3 +} + +IJ.run('Remove Overlay') +imp_czi = IJ.getImage() + +imp_obmap = run_request_sequence( + imp_czi, + ilastik_map_objects_simple.main, + params, +) + +# transfer objects of specified class to image's overlay +imp_obmap.show() +IJ.run(imp_obmap, "glasbey on dark", "") +IJ.setThreshold(imp_obmap, params['object_class'], params['object_class']) +rm = RoiManager.getRoiManager() +Recorder.setBlackBackground() +imp_obmap.createThresholdMask() +rm.reset() +IJ.run(imp_obmap, "Analyze Particles...", "display exclude clear include add") +rm.run('Show All') + +rm.moveRoisToOverlay(imp_czi) +if not params['debug']: + imp_obmap.close() +imp_czi.show() \ No newline at end of file