http://imagej.273.s1.nabble.com/Solved-Help-with-macro-for-stack-segmentation-tp5022617p5022619.html
and draw some black objects on slice 2, 6 and 10.
and run it ('Input path' = location of the created stack).
the input folder.
the subfolder 'mask'.
Maybe you can run this as a test.
> Hi, everyone,
>
> I've just started with Fiji. I've written a code for cell segmentation that
> works when I run from the "Script editor" window, but not when I run from
> the "Process>Batch>Macro" menu, and I was hoping someone could advise me as
> to how to solve it.
>
> I have a bunch of stacks (9 slices x 4 channels) with single-cell images,
> and I want to segment the cell in each slice to take some measurements with
> another portion of the script. In my case, channel 2 is used for
> segmentation, and the script is supposed to go through Ch2 in each slice,
> segment it and save the mask as a separate image for later use (I also like
> to keep the mask as a record in case I have to check anything in the
> future).
>
> As I said, the macro bellow works fine in the script editor window (I test
> it with one single file at a time) and 9 different masks are generated
> corresponding to each slice. But when I run the exact same thing through
> Process>Batch>Macro I get 9 identical masks corresponding to the first slice
> (i.e., 9 different files with the expected names but with identical images).
> If there is more than one file in the parent folder, I get one set of 9
> identical masks for each original file.
>
> {
> frames=nSlices;
> title=getTitle();
> ImgName=substring(title, 0, lengthOf(title)-4);
> dir=getDirectory("image");
> dirOut1= dir + File.separator + "mask";
> dirOut2= dir + File.separator + "tiff";
> setMinAndMax(0, 65535);
> File.makeDirectory(dirOut1);
> File.makeDirectory(dirOut2);
> saveAs("TIFF",dirOut2 + File.separator + title);
>
> //to create the masks
> run("Gaussian Blur...", "sigma=1 stack");
> run("Convert to Mask", "method=Mean background=Light calculate");
> run("Fill Holes", "stack");
> run("Open", "stack");
> for (i=0; i<frames; i+=4) {
> setSlice(i+2); //mask is based on 2nd channel
> saveAs("PNG",dirOut1 + File.separator + ImgName + "_" + i+2);
> }
> close();
> }
>
> Any input would be much appreciated.
>
> Mario
>
>
>
> --
> Sent from:
http://imagej.1557.x6.nabble.com/>
> --
> ImageJ mailing list:
http://imagej.nih.gov/ij/list.html