If i have a series of these images and i want to eventually train and apply a segmentation on the batch, should i normalize them in any way?
I think the best strategy is to make sure that all the images have the same white balance, convert them to HSV (hue, saturation, value) color space and work with the Hue and Value channels. Just using the hue channel would allow you to get masks like that:
After that you can filter the images by keeping the largest object and do morphological dilation and erosion steps with closing the holes.
If you have many images you may still consider to use classifiers as Ilastik or Weka, but use HSV image as an input. The teeth have distinct hue and also differ by their Value-component from the part that gave a noise pattern in the image I showed first. Having them both in the classifier should fix this problem.
And then there is Enhance Contrast for which we have the Histogram Equalization option.
I don’t think it is good idea, because enhancing of the contrast is applied to each image individually, which may create problems if you continue with the classifiers.
Is there other preprocessing needed? Some noise reduction maybe (not sure which kind)?
It is difficult to conclude from the JPG-compressed image that you’ve provided, I think in your case you may do well without it. I recommend to use anisotropic diffusion (Perona-Malik) or I am constantly using BM3D filter (but I am not sure whether it is available in Fiji).
I would like to eliminate the classifications errors for both classes that are clearly wrong (to the human eye).
There are naturally errors, in our case we try to do as much automation as possible and whenever needed polish the models manually.