package ij.plugin;
import ij.*;
import ij.process.*;
/** Implements the Image/Transform/Flip Z command. */
public class StackReverser implements PlugIn {
public void run(String arg) {
ImagePlus imp = IJ.getImage();
if (imp.getStackSize()==1) {
IJ.error("Flip Z", "This command requires a stack");
return;
}
if (imp.isHyperStack()) {
IJ.error("Flip Z", "This command does not currently work with hyperstacks.");
return;
}
flipStack(imp);
}
public void flipStack(ImagePlus imp) {
ImageStack stack = imp.getStack();
ImageStack stack2 = imp.createEmptyStack();
int n;
while ((n=stack.getSize())>0) {
stack2.addSlice(stack.getSliceLabel(n), stack.getProcessor(n));
stack.deleteLastSlice();
}
imp.setStack(null, stack2);
}
}