diff --git a/model_server/clients/imagej/example_simple_ilastik.py b/model_server/clients/imagej/example_simple_ilastik.py index f42d9cd290f38b07d971b9440f9b7a6a42dba4f0..4dd5392daf435e5f790f794f3c72a7497700b172 100644 --- a/model_server/clients/imagej/example_simple_ilastik.py +++ b/model_server/clients/imagej/example_simple_ilastik.py @@ -1,28 +1,33 @@ -import os -import sys - -from ij import IJ -from ij.plugin.filter import ParticleAnalyzer -from ij.plugin.frame import Recorder, RoiManager +from os.path import join, expanduser -sys.path.append( - os.path.join( - os.path.expanduser('~'), 'model_server', 'source', 'model_server', 'clients' - ) -) +# top-level directory <user>/model_server that contains codebase +root = join(expanduser('~'), 'model_server') -from imagej.adapter import run_request_sequence -import ilastik_map_objects_simple -from ij import IJ +# USER: change this to look for ilastik models in some place other than <user>/model_server/ilastik +classifier_directory = join(root, 'ilastik') +# USER: set filenames and channels to build ilastik pipeline 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', + 'pixel_classifier': 'px-03.ilp', + 'object_classifier': 'obj-07.ilp', 'debug': True, 'channel': 4, # zero-index 'object_class': 3 } +# load ImageJ API then Jython dependencies that are maintained in model_server codebase +import sys +from ij import IJ +from ij.plugin.frame import Recorder, RoiManager + +sys.path.append(join(root, 'source', 'model_server', 'clients')) +from imagej.adapter import run_request_sequence +import ilastik_map_objects_simple + +# call the server to run ilastik analysis +params['pixel_classifier_path'] = join(classifier_directory, params['pixel_classifier']) +params['object_classifier_path'] = join(classifier_directory, params['object_classifier']) + IJ.run('Remove Overlay') imp_czi = IJ.getImage()