Absolute beginner

Hello everyone,
is there anyone I could have quick online support while learning how to use Fiji software?
I’m trying to use its tutorial for IHC DAB. I was not sure which threshold (like Huang, Otsu?) should I choose in the first place, second I encountered the following error saying “the plugin directory is not writable…”
Maybe I can talk on whatssap/ messanger with somebody? I’m completely lost, can’t find any clear guidelines…


Hi @Katarzyna_Kaleta,

can you maybe provide a link to the tutorial you mentioned?

As a general answer to your question: You should try different threshold techniques on a representative set of example images and try to find out which works best on ideally all images. However, in many cases there is no “perfect” method and one has to find a good compromise.

If you work on Windows, it is recommended to put the Fiji installation directory in a place where you have write access as a user (e.g. under Documents) and not in C:\Programs

Last but not least, there is some course material online available for you to get started with Fiji:


Let us know how it goes! We’re happy to help :slight_smile:



thank you for your replay.
I’m just using the tutorial that is available after installing Andy’s Algorithm IHC plugin. With a help of my friend I managed to get over the technical problems, now it works. But I got there while calibration and don’t know what to choose. I really need some step by step assistance… :<WhatsApp Image 2020-01-27 at 20.11.14

I will definitely check your links now! I chose Otsu, but maybe there are some general tips when to choose particular algorithms?


You can read more about the Auto Threshold methods here: https://imagej.net/Auto_Threshold

Too - you can actually do a quick ‘test’ by running Auto Threshold using ‘try all’ - then you’ll get a montage of all the algorithm outputs and you can see which is best for your particular case. :slight_smile:

Too - here are my favorite ‘helpful’ links for getting started with ImageJ:


Thank you once more. Its always easier when somebody tells you some clues. So In general, I do the calibration, scales etc. and then I can run my analysis in this case Andy’s Algorithm was recommended to me…?
could you just tell me simple the bascis, whats the difference between total and positive overaly/enhanced?

Just adding a link to Andys algorithms, as it’s new to me and maybe also to other readers of this thread:


Hey @Katarzyna_Kaleta,

this question is pretty hard to answer in general as it’s out of context. Total of what? What is enhanced compared to what other thing? :wink:

Do you maybe want to tell us a bit about what you are trying to achieve? Also, please show us an example image and point at what you want to measure. We can then push you in the right direction :wink:


1 Like

OK, I try to understand the program… but my question is: somebody told me that the best automatic threshold is yen. Or should I look at the pictures and chose the threshold by myself? For example, I made a screen for my picture - which one and why do you think I should chose?
I also wonder - can I choose for different staining (I mean different antibodies, receptors) different thresholds? And can I make pictures enhanced for some? Or should it be the same for the whole study? Because some week stainings are better visible in other tresholds/or enhanced.
I will be very thankful for advice on that!

Dear Katarzyna,
I’m not an expert but from my experience, I can say that you will never have an ideal threshold for everything.
I think the best way to use automatic threshold is to test 2-3 images with a positive staining and 2-3 images without and check the results.
You should keep the same threshold for the same antibody / experiment but I’m sure that will have to change a bit between 2 differents antibodies / experiments.

A very frequently asked question relates to quantification of immunostain intensity (for example DAB intensity) to evaluate antigen expression. However, one needs to consider some important issues that prevent doing this in a quantitative manner:

  1. Antigen-antibody reactions are not stoichiometric, therefore “darkness of stain” does not equate to “amount of reaction products” or to “expression” of a given antigen. In fact most histological stains are non-stoichiometric (some exceptions are Feulgen stain which is commonly used for DNA cytometry and phalloidin for visualising actin).
  2. Immunohistochemistry uses a series of amplification steps to visualise the results making it difficult to control what the final intensity of the amplified signal actually represents in terms of amount of antigen.
  3. The chromogen DAB does not follow Beer-Lambert law either. See, e.g., the paper by CM van der Loos:
    “The brown DAB reaction product is not a true absorber of light, but a scatterer of light, and has a very broad, featureless spectrum. This means that DAB does not follow the Beer-Lambert law, which describes the linear relationship between the concentration of a compound and its absorbance, or optical density. As a consequence, darkly stained DAB has a different spectral shape than lightly stained DAB.”

Thank you, Alex for advice and knowledge. Just to test if I think correctly, could you tell.me.which threshold would you chose in the case above?

for me Li work better

Hi @etadobson

KNIME is super useful for testing different thresholding methods, because you can view the results as a table, with each thresholding method as a column and each image as a row. So for example if you were testing 8 thresholding methods, and 20 images, you get a 8 column by 20 row table, and can quickly evaluate how each thresholding method handles your image set.

I created such a workflow a few years ago, and @LThomas improved on it and added it to node pit. The thread is here and the node is here.

I concede that jumping into KNIME may be a bit over-whelming for absolute beginners, but I recommend it for anyone who finds them selves spending time ‘parameter tuning’ and testing different image processing algorithms on image sets. The table views in KNIME make that process much easier.