我尝试编写一个 PET/CT 匹配算法,现在我有一个非常难以回答的问题。是否可以将一些堆栈添加到一个大堆栈中?我有 55 个堆栈和 55 帧,其中在每个堆栈中组合了两个具有不同 alpha 值的图像。
现在我想创建一个大堆栈,当我从左向右滑动时,图像的透明度正在改变,当我从底部滑动到顶部时,我想看到堆栈的不同切片......这是可能的还是我应该尝试另一种方法?!
提前致谢
太普乐
我尝试编写一个 PET/CT 匹配算法,现在我有一个非常难以回答的问题。是否可以将一些堆栈添加到一个大堆栈中?我有 55 个堆栈和 55 帧,其中在每个堆栈中组合了两个具有不同 alpha 值的图像。
现在我想创建一个大堆栈,当我从左向右滑动时,图像的透明度正在改变,当我从底部滑动到顶部时,我想看到堆栈的不同切片......这是可能的还是我应该尝试另一种方法?!
提前致谢
太普乐
ImageJ has support for multidimensional (up to 5 dimensions) stacks. On a higher level you can use Image->Hyperstacks->Stack to Hyperstack
or Image->Stacks->Tools->Concatenate
menu commands.
For use in a plugin, there is the function ImagePlus#setStack(ImageStack stack, int nChannels, int nSlices, int nFrames)
and others. See documentation for ImagePlus
class.
Here is a macro that demonstrates the use on a stack from ImageJ samples:
run("MRI Stack (528K)");
run("Duplicate...", "title=mri-stack-1.tif duplicate range=1-27");
run("Gaussian Blur...", "sigma=1 stack");
selectWindow("mri-stack.tif");
run("Duplicate...", "title=mri-stack-2.tif duplicate range=1-27");
run("Gaussian Blur...", "sigma=2 stack");
run("Concatenate...", " title=[Concatenated Stacks] open image1=mri-stack.tif image2=mri-stack-1.tif image3=mri-stack-2.tif image4=[-- None --]");