I need to use a pipeline where the same set of operations needs to be applied on different sets of images, (differing by exposure time, for instance).
Depending on the experiments, I will have 5 different exposures, or 10. This can vary, but many operations need to be applied identically.
So far, the way it’s done in the pipeline is by duplicating many times the same modules, changing the parameter for image name ‘image_exp3ms’, ‘image_exp10ms’, ‘image_exp20ms’, etc.
But obviously if I want to change a parameter (thresholding for instance), this means that I need to change it identically in all duplicated modules, which is tedious.
So, to improve this, my current plan is the following:
- I write a cppipe file with a single and generic
image_$exptimeimage name parameter
- Then I export this pipeline as a .cppipe file
- Finally I programmatically generate a new cppipe file which will duplicate all modules for as many time as needed
** by parsing the generic cppipe file:
** -> search for
image_$expparameter in modules
** -> then duplicating module as many time as needed and replacing the keys by the appropriate exp time
I believe this is what was suggested in this previous thread : Access to arbitrary metadata in Omero
Now I have two questions:
- Is it the way to go or is there a better option with CellProfiler ?
- What are these many
\xff\xfestrings found into the cppipe file ? What’s their use ? What do they mean ? It will be a bit annoying when parsing the file