Batch processing for segmenter tool

I am using your segmenter tool and it is working quite well so far, I was just wondering if there was an option for batch processing?

Thanks!

Yes, we do. You can find a tutorial here: https://www.allencell.org/segmenter.html (see the youtube video in the middle of this page). More documentations are here: https://github.com/AllenInstitute/aics-ml-segmentation/blob/master/docs/demo_1.md

Let me know if you have more questions :slight_smile:

Super, thanks Jian Xu!

Hi! I have successfully ran the segmenter with my samples and prepared the batch process using the template provided in the tutorial. However, when I open conda terminal I cannot run the batch processing script. It does not even allow me to run batch_processing -h

Do you know what step I have forgotten in order for this to work?

Thanks!

may i know which OS are you running on? and also how did install the package? build from source? one last question is within the conda environment, what will you get if you type in

pip show aicssegmentation

I’m using windows. I installed following the instructions provided at the Bioimage informatics course. When I type pip show aicssegmentation I get this:
segmenter) C:>pip show aicssegmentation
Name: aicssegmentation
Version: 0.1.18.dev0
Summary: Scripts for structure segmentation.
Home-page: UNKNOWN
Author: AICS
Author-email: jianxuc@alleninstitute.org
License: Allen Institute Software License
Location: c:\aics-segmentation
Requires: numpy, scipy, scikit-image, pandas, aicsimageio, aicsimageprocessing, numba, itk
Required-by:

when I try batch_processing -h (or running the full batch processing code) I get a long error report:
(segmenter) C:>batch_processing -h
Traceback (most recent call last):
File “C:\Users\acochrane\Anaconda3\envs\segmenter\lib\site-packages\pkg_resources_init_.py”, line 584, in build_master
ws.require(requires)
File "C:\Users\acochrane\Anaconda3\envs\segmenter\lib\site-packages\pkg_resources_init
.py", line 901, in require
needed = self.resolve(parse_requirements(requirements))
File “C:\Users\acochrane\Anaconda3\envs\segmenter\lib\site-packages\pkg_resources_init_.py”, line 792, in resolve
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (aicsimageio 0.6.4 (c:\users\acochrane\anaconda3\envs\segmenter\lib\site-packages), Requirement.parse(‘aicsimageio>=3.1.2’), {‘aicsimageprocessing’})

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “C:\Users\acochrane\Anaconda3\envs\segmenter\Scripts\batch_processing-script.py”, line 6, in
from pkg_resources import load_entry_point
File “C:\Users\acochrane\Anaconda3\envs\segmenter\lib\site-packages\pkg_resources_init_.py”, line 3258, in
@call_aside
File "C:\Users\acochrane\Anaconda3\envs\segmenter\lib\site-packages\pkg_resources_init
.py", line 3242, in call_aside
f(*args, **kwargs)
File "C:\Users\acochrane\Anaconda3\envs\segmenter\lib\site-packages\pkg_resources_init
.py", line 3271, in _initialize_master_working_set
working_set = WorkingSet.build_master()
File "C:\Users\acochrane\Anaconda3\envs\segmenter\lib\site-packages\pkg_resources_init
.py", line 586, in _build_master
return cls.build_from_requirements(requires)
File "C:\Users\acochrane\Anaconda3\envs\segmenter\lib\site-packages\pkg_resources_init
.py", line 599, in build_from_requirements
dists = ws.resolve(reqs, Environment())
File "C:\Users\acochrane\Anaconda3\envs\segmenter\lib\site-packages\pkg_resources_init
.py", line 792, in resolve
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (aicsimageio 0.6.4 (c:\users\acochrane\anaconda3\envs\segmenter\lib\site-packages), Requirement.parse(‘aicsimageio>=3.1.2’), {‘aicsimageprocessing’})

Thanks for providing the extra info.

A quick temporal solution:

Under directory c:\aics-segmentation\aicssegmentation\bin, you should be able to find a file: batch_processing.py

Go to this directory and run

python batch_processing.py -h

this should work. batch_processing is just symbolic link to the command python batch_processing.py . Everything else is the same. You can pass the parameter as in the demo.

Meanwhile, I will try to reproduce the error on my end, and see what is the problem.

Thanks. This did provide a solution for recognizing batch_processing however it is still not running the final code to run the batch.

There are many errors but I have noticed a recurring error with the version of aicsimageio version incompatibility but I have ran already pip install aicsimageio to make sure I have the most up to date version. Not sure if this is the/the only problem?

sorry for the late reply. Currently, our package is not compatible with the latest aicsimageio. aicsimageio just released some major update, but I have not got time to update our package accordingly.

A quick fix for you would be removing aicsimageio then pip install aicsimage=0.6.4

Actually, in our setup configuration, we require this when installing: