Hi, I've been playing with stacks - and looking at using a stack of channels.
In ImageJ, a regular stack has a slice for each image, if you change it to a channel for each image - using colour, each channel has its own lut, whilst retaining original values. (I've attached an avi showing it.)
Below is the change I've made to the code above - to create a channel stack, and apply auto brightness contrast to each channel
StackName = getString("Enter name of Stack, no spaces", "Oxide_Stack");
run("Images to Stack", "name="+StackName+" title=[] use");
run("Set Scale...", "distance=1 known="+pixelsize+" pixel=1 unit=um");
run("Stack to Hyperstack...", "order=xyczt(default) channels="+nSlices+" slices=1 frames=1 display=Color");
Stack.getDimensions(width,height,channels,slices,frames);
max2=channels+1;
for (i=1; i<max2; i++) {
Stack.setChannel(i);
run("Enhance Contrast", "saturated=0.35");
}
name = getTitle;
saveAs("Tiff", output+name);
In this case to measure the intensity within a selected area (box, circle, polygon) for the whole stack we use the following:
Stack.getDimensions(width,height,channels,slices,frames);
max2=channels+1;
for (i=1; i<max2; i++) {
Stack.setChannel(i);
run("Measure");
}
Similarly macros written to plot or export the profile data for all the images in the stack can be easily modified, I've attached the modified versions.