-
Notifications
You must be signed in to change notification settings - Fork 0
/
ResaveStacks.ijm
56 lines (42 loc) · 1.5 KB
/
ResaveStacks.ijm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
// Re-save stacks in directory
// Useful to set the correct scaling in batch for image stacks in a directory.
// You can also adjust contrast, change LUT or perform other imaging processing
// steps such as cropping.
//
// WARNING: this macro re-saves in place and will overwrite your stacks in the
// specified directory.
// Directory with stacks
indir = getDirectory("Choose INPUT Directory");
// Get files
stacks = getFileList(indir);
timepoints = lengthOf(stacks)
// Set Batch Mode
setBatchMode(true);
// Open, merge and save
for (i=0; i<timepoints; i++) {
// Spit name
print(indir+stacks[i]);
// Open file
open(indir+stacks[i]);
// Get image dimensions
Stack.getDimensions(w, h, channels, slices, frames);
name = getTitle();
// Fix voxel depth or pixel width
//run("Properties...", "channels="+ channels +" slices="+ slices +" frames="+ frames +" unit=micron pixel_width=0.2749087 pixel_height=0.2749087 voxel_depth=1.0000 frame=[1.47 sec]");
run("Properties...", "channels="+ channels +" slices="+ slices +" frames="+ frames +" unit=pixel pixel_width=1.0 pixel_height=1.0 voxel_depth=4.0");
// Adjustments
run("Grays");
setMinAndMax(250, 2500);
//makeRectangle(1, 1, 1896, 1046);
//run("Crop");
//run("Slice Remover", "first=106 last="+ slices +" increment=1");
//run("Slice Remover", "first=1 last=13 increment=1");
//run("Flip Horizontally", "stack");
//run("Flip Vertically", "stack");
// Save patched
run("Save");
// Close output
close(name);
}
// Set Batch Mode
setBatchMode(false);