Missing functionality in Threshold module

threshold
slider

#1

First, thanks for your hard work on CP3. The new interface is really classy.

Second, I understand the need to streamline the new version, but I’m missing some basic functionality that’s been removed. For example, the ApplyThreshold module (now Threshold) used to let me choose whether I wanted to set pixels below or above the threshold to zero, but now it only let me do below. It’s also missing the greyscale output option. I was previously using this module to eliminate bright spots from my image by setting all pixels with an intensity above 0.8 (along with a 15-pixel expansion) to zero…is it possible for me to achieve this with a different module?

Third, I was really excited at the prospect of faster processing, but I seem to be experiencing the opposite. I have both CP2.2 and CP3 installed on a desktop running Windows 10, and running the same pipeline takes over twice as long on CP3 (30 vs 66 seconds for a simple pipeline to identify, measure, and filter objects). Perhaps I’ll see the speed gains when implementing on the cluster…

Fourth, I agree that the slider looked rather clunky, but I’m finding it takes longer to edit pipelines without it. I used to constantly back up and run a single module at a time in test mode. Now, however, I can only “Run”, not “Step” from a previous module, so backing up and running one module at a time requires lots of pausing/unpausing, which gets tiresome.

Sorry for the complaints and thanks again for all you do! Our lab has been using CP since the early Matlab days and we’re among your biggest fans. I used CP to analyze 10 million images (20TB) on our cluster and recommend the software to everyone I meet. I’m just finding the transition to v3 more difficult than I had hoped.

Thanks,
Philip Tan
Cardiac Systems Biology Lab
University of Virginia


#2

Hi Philip,

It’s certainly helpful to hear from people on what they do and don’t like on the changes! Thanks for letting us know.

I was previously using this module to eliminate bright spots from my image by setting all pixels with an intensity above 0.8 (along with a 15-pixel expansion) to zero…is it possible for me to achieve this with a different module?

You can do this by thresholding your bright spots and then removing them with a MaskImage or Crop module. That’s essentially what CP was doing before, it was just decided to separate out the functions to simplify the codebase (which we need to do to keep CP maintainable)

Third, I was really excited at the prospect of faster processing, but I seem to be experiencing the opposite.

We unfortunately have found that while on average CP3 is a bit faster than CP2, it depends on the module and the setting. What modules specifically seem to have slowed down for you?

Now, however, I can only “Run”, not “Step” from a previous module, so backing up and running one module at a time requires lots of pausing/unpausing, which gets tiresome.

I agree that a “Step from here” in addition to “Run from here” is a nice idea, and I’ll suggest that, having run into that issue myself.

Thanks again for your input!


#3

Thanks for the detailed response! I’ll try your suggestion for removing bright spots.

In CP3, IdentifyPrimaryObjects is running really slowly for me. The two pipelines attached are equivalent (they are both using Otsu method in Modlue 8, but for some reason I had to re-specify this to get the CP2 one to run in CP3), and the log files are attached for processing a batch of 8 images. CP2 completed in 1:15, while CP3 took 4:50. The biggest difference seems to be in Module 8 (the first IdentifyPrimaryObjects), where CP2 takes about 3 seconds per image, and CP3 takes about 50–80 seconds per image.

Test CP2 Log.txt (324.8 KB)
Test CP3 Log.txt (41.5 KB)
Test CP2.cpproj (616.4 KB)
Test CP3.cpproj (629.6 KB)