Remove noise (dust) from brightfield image with imagej?

Hi All! I have little experience with ImageJ and am attempting to remove the noise or dust from this image, and/or, ideally, isolate the cross-section entirely. The dust interferes with the software I plan to analyze it with and is not part of the sample at all. I know I can manually trace around the image I want, but I plan on doing this for many images, so I was wondering if there is a good way to do it. The magic wand tool doesn’t seem to be working well for me (unless I am missing something).

hen-19-3-root-top-5x-BF.tif (7.7 MB)

Hi Steiner,

If you want to isolate the cross-section of your sample, I wouldn’t spend too much time on trying to remove the noise/dust. Just converting the image to a greyscale 8-bit image, doing a simple background subtraction, thresholding the image and using the particle analyzer to select the particle of an appropriate size for your cross-section does appear to do a pretty good job at creating a mask for your image (see image below). Here I used the mean auto-threshold method, but you could adjust the threshold if the outline is too large.
I include the macro code for the steps I used to create the mask.

I hope this helps,

run("RGB Color");   //convert stack to RGB image
run("8-bit");             //convertRGB to 8-bit greyscale
run("Subtract Background...", "rolling=100 light");    //subtract background
setAutoThreshold("Mean");              //set threshold using method 'Mean'
setOption("BlackBackground", false);
run("Convert to Mask");                   //apply threshold and convert to mask 
run("Analyze Particles...", "size=1-Infinity show=Masks exclude clear include add"); //filter particles by size, create mask and add to ROI manager