http://imagej.273.s1.nabble.com/an-odd-image-ID-problem-tp5019502p5019516.html
> On Oct 5, 2017, at 4:06 AM, Jeremy Adler <
[hidden email]> wrote:
>
> A small problem with the IDs of images or maybe my assumption that the last created image is the current image.
>
> The macro code creates a stack of 3 images then splits the stack.
> The IDs of the 3 daughter images are obtained by finding the ID of the top image (3rd and last image in the stack).
> This is as it should be.
>
> But (second block of code) when I duplicate the stack before splitting the stack, the duplicate stack gets the expected ID.
> But after splitting the stack the IDs of the daughter images are reported incorrectly.
> The problem seems to be that although the final 3rd image in the stack is still the top image, when I check the current ID and title are those of the original stack.
This bug is fixed in the latest ImageJ daily build (1.51r20). This fix is only for the "Stack to Images” command. There may be other commands that close images with similar problems.
> What am I missing ?
>
> run("Close All");
> print("\\Clear");
>
> newImage("OriginalStack", "32-bit ramp", 64, 32, 3);
> origStackID=getImageID();print("origStackID ",origStackID);
> run("Stack to Images");
> print(" stack-images");
> afterStacktoIm3ID=getImageID();// current image
> currentTitle=getTitle();print("after stack-images: current Title: ",currentTitle," ID ",afterStacktoIm3ID);
> after2ID=afterStacktoIm3ID+1;// 2nd image from stack
> after1ID=afterStacktoIm3ID+2;// 2nd image from stack/
> print("IDs orig ",origStackID," after stack-images ",afterStacktoIm3ID,after2ID,after1ID);
> selectImage(after2ID);
>
> print(" ");
> print(" repeat but include image duplication");
> newImage("NewOriginalStack", "32-bit ramp", 64, 32, 3);
> NeworigStackID=getImageID();print("NeworigStackID ",NeworigStackID);
> run("Duplicate...", "duplicate");
> DupImageID=getImageID();
> print("ID of duplicate ",DupImageID);
> run("Stack to Images");
> print(" stack-images");
> afterStacktoIm3ID=getImageID();// current image
> currentTitle=getTitle();print("after stack-images: current Title: ",currentTitle," currentID ",afterStacktoIm3ID);
> after2ID=afterStacktoIm3ID+1;// 2nd image from stack
> after1ID=afterStacktoIm3ID+2;// 2nd image from stack/
> print("IDs orig ",origStackID," after stack-images ",afterStacktoIm3ID,after2ID,after1ID);
> selectImage(after2ID);
>
> --
> ImageJ mailing list:
http://imagej.nih.gov/ij/list.html