3d segmentation of mitochondria advice

Good time of a day, friends.
I have a task to segment mitochondria from fluorescent images.
Can anyone give me advice in what plugin and with what parameters I can get stable results with the SAME parameters for different images. Its quite important for them to be the same, because the moment I start playing with parameters for each from hundred images - results became quite subjective (well, and work more tiresome).
I guess I have installed all of plugins I found, but with one I cant get results I want (like 3d spot segmentation) and others sometimes work as I want, and sometimes - not (segmentation from 3d manager). And I am not realy getting am I doing something wrong, chosen plugin dosnt fit my task and where I should invest my time.

So, if anyone is experienced with such works and can give me some advice like “Hey, you should use spot segmentation with following settings” (or well, I’ll be even more happy with script command :slight_smile: ) it will be great.

General idea (I am not sure it is needed for an answer, but let it be here):

  1. I have images, which are processed to be more structurally distinguishable. Here are processing steps - I come with them after some experiments.
    I managed to make a script for this task, though I am sure its bulky :slight_smile:

     selectWindow(name2);
     run("Gaussian Blur...", "sigma=0.08 scaled stack");
     selectWindow(dublicate_name);
     run("Gaussian Blur...", "sigma=0.3 scaled stack");
     imageCalculator("Subtract create stack", name2, dublicate_name);
     run("Subtract Background...", "rolling=10 stack");
     run("3D Fast Filters","filter=Mean radius_x_pix=2.0 radius_y_pix=2.0 radius_z_pix=2.0 Nb_cpus=8");
    
  2. I want to make a Roi for a cells (manually), save them. Then to get 3dRoi for mitochondria in each cell (save them), save geometrical parameters, then go back to original (not processed) image and have fluorescent parameters for this 3droi from it.
    This part I am doing manually, because I dont know how to code it, though it seems quite repeatable.

Thank you for your time and help!

Here is drop box link for few different stacks.
Single image from stack

Whole script (though I doubt you ll need it)

dir_in = getDirectory("Choose Source Directory ");
list = getFileList(dir_in);
dir_out = getDirectory("Choose Output Directory ");
//Pixal dialog
  width=0.0718721; height=0.0718721; z_st = 0.5; title = "Rhod";
  Dialog.create("Pixel size");
  Dialog.addNumber("Width:", 0.0718721);
  Dialog.addNumber("Height:", 0.0718721);
  Dialog.addNumber("z_st:", 0.5);
  Dialog.addString("Sort by name:", title);
  Dialog.addCheckbox("Proccess", true);
  process_check = Dialog.getCheckbox();
  Dialog.show();
  width = Dialog.getNumber();
  height = Dialog.getNumber();
  z_st = Dialog.getNumber();
  title = Dialog.getString();
  
//End of dialog


setBatchMode(true);
for (i=0; i<list.length; i++) {
    seqence_folder = dir_in+list[i];
    run("Image Sequence...", "open=[" + seqence_folder + "] file=" + title + " sort use"); 
    name=getTitle;
    File.makeDirectory(dir_out + name);
    run("Properties...", "channels=1 slices=" + nSlices + "  frames=1 unit=µm pixel_width=" +  width + " pixel_height=" + height + " voxel_depth=" + z_st );
    saveAs("Tiff", dir_out+ name + "\\" + name + "_ORIGINAL"); 
    if (process_check==true) preProcess(name); 
}




 function preProcess(name) {
			name2=getTitle;
			selectWindow(name2);
			name_notiff = replace(name2, ".tif", "");
			run("Duplicate...", "duplicate");
			dublicate_name = name_notiff+"-1.tif";
			selectWindow(name2);
			run("Gaussian Blur...", "sigma=0.08 scaled stack");
			selectWindow(dublicate_name);
			run("Gaussian Blur...", "sigma=0.3 scaled stack");
			imageCalculator("Subtract create stack", name2, dublicate_name);
			run("Subtract Background...", "rolling=10 stack");
			run("3D Fast Filters","filter=Mean radius_x_pix=2.0 radius_y_pix=2.0 radius_z_pix=2.0 Nb_cpus=8");
			selectWindow("3D_Mean");
			saveAs("Tiff", dir_out+ name + "\\" + name_notiff + "_PROCESSED");            
            close();
     
  }
1 Like