Run pixel classification on only one channel when multiple channels are loaded

I’ve just started to use ilastik and have been trying to set up a workflow to analyze a bunch of plates. Our IN Cell microscope generates images with this organization;
Plate1\A01 - FITC.tif
Plate1\A01 - DAPI.tif
(and so on for all wells and multiple plates).

The classification training for the DAPI channel is pointless against the FITC images and vice versa. Is it possible to set up a filter inside ilastik to only apply classification to a subset of loaded images? It’s easier to drag an entire plate folder(s) into the batch processing module than to manually select 384*N images for a specific channel. Presumably, this will also speed up processing since the classifications will then only be applied to the matching channel.

Hi @nieder,

depending on the operating system you are using it should be possible to do this via the file browser you are using. From the Folder structure I take it you are on windows. In the windows explorer there is a little search field. If I only wanted the dapi images I’d go to the folder where all the plate folders reside in and type *DAPI.tif in the search field. Then with ctrl-a you can select all files and drag them over to ilastik. If you have set up the export in the data export applet correctly, leaving in the placeholders for the export filename correctly, it will write a new file for every input file you dragged into the batch processing applet (default: {dataset_dir}/{nickname}_{result_type}.h5 will write the output files into the same directory as the corresponding input files).

Does this work for you?

Sorry for the slow reply. As luck would have it, our image datastore suffered a breakdown and that took some time to get going again.

Filtering in Windows Explorer for the right filename/channel and then drag/drop onto ilastik does work. But it takes Explorer 12 minutes to find the 55K images that I need for each channel.

I was hoping ilastik would have an internal filtering mechanism that would say “apply this pixel classification only to images matching rule X” and then I could load the entire folder with the days’ run of 36 plates without having to prefilter or select a specific set of files before hand.

that is a cool idea, but unfortunately it doesn’t have this currently.

When people are processing large amounts of data with ilastik they often tend to go to the headless mode at some point. Often users end up calling the ilastik headless mode from python and pre-filter/sort files on the python side.