root / bin / ImageJ / lif2tif.ijm @ 18
Historique | Voir | Annoter | Télécharger (2,37 ko)
1 | 1 | akiss | ////////////////////////////////////////////////////////////////////////////////// |
---|---|---|---|
2 | 1 | akiss | |
3 | 1 | akiss | //The script will process all your .lif files in the chosen folder. |
4 | 1 | akiss | //The stacks will be saved in subfolders named as the treated lif files. |
5 | 1 | akiss | |
6 | 1 | akiss | print ("===================================="); |
7 | 1 | akiss | print ("======== Macro lif2tif.ijm ========="); |
8 | 1 | akiss | print ("===================================="); |
9 | 1 | akiss | |
10 | 1 | akiss | //Choose the directory containing your .lif file// |
11 | 1 | akiss | dir = getDirectory("Choose a directory") |
12 | 1 | akiss | setBatchMode(true); |
13 | 1 | akiss | list = getFileList(dir); |
14 | 1 | akiss | |
15 | 1 | akiss | //Find .lif experiment// |
16 | 1 | akiss | for (FileInd=0; FileInd<list.length; FileInd++){ |
17 | 1 | akiss | FileName = list[FileInd]; |
18 | 1 | akiss | if(endsWith (FileName, "lif")){ |
19 | 1 | akiss | print ("### Processing ",FileName," ###"); |
20 | 1 | akiss | path = dir+FileName; |
21 | 1 | akiss | ShortName=substring(FileName,0,indexOf(FileName,".lif")); |
22 | 1 | akiss | print("Creating output directory ",ShortName); |
23 | 1 | akiss | File.makeDirectory(dir+ShortName); |
24 | 1 | akiss | //Open .lif// |
25 | 1 | akiss | run("Bio-Formats Importer", "open=["+path+"] color_mode=Default view=Hyperstack stack_order=XYCZT use_virtual_stack open_all_series "); |
26 | 1 | akiss | //Saving as .tif the content of the .lif files, in their destination folders// |
27 | 1 | akiss | list = getList("image.titles"); |
28 | 1 | akiss | //get the name of each image opened// |
29 | 1 | akiss | ids=newArray(nImages); |
30 | 1 | akiss | for (j=0; j<list.length; j++){ |
31 | 1 | akiss | //print(list[j]); |
32 | 1 | akiss | selectImage(j+1); |
33 | 1 | akiss | ids[j]=getTitle; |
34 | 1 | akiss | //Get experiment name (title of the .lif file)// |
35 | 1 | akiss | experiment_name=substring(ids[j],0,indexOf(ids[j],".lif")); |
36 | 1 | akiss | //Remove the name of the .lif file that is included in each image// |
37 | 1 | akiss | short_name1 = substring(ids[j], indexOf(ids[j], "- "), lastIndexOf(ids[j], "")); |
38 | 1 | akiss | short_name = replace(short_name1, "- ", ""); |
39 | 1 | akiss | //If not a stack, save directly as .tif with a short name// |
40 | 1 | akiss | if (nSlices==1){ |
41 | 1 | akiss | print("Not a stack"); |
42 | 1 | akiss | run("8-bit"); |
43 | 1 | akiss | saveAs("Tiff", dir+File.separator+experiment_name+File.separator+short_name); |
44 | 1 | akiss | print(short_name, ">>> Image saved as .tif"); |
45 | 1 | akiss | //If a stack, reverse and save as .tif with a short name// |
46 | 1 | akiss | } else { |
47 | 1 | akiss | run("Reverse"); |
48 | 1 | akiss | run("8-bit"); |
49 | 1 | akiss | saveAs("Tiff", dir+File.separator+experiment_name+File.separator+short_name); |
50 | 1 | akiss | print("----- ",short_name, " >>> Reversed and saved as .tif"); |
51 | 1 | akiss | }; |
52 | 1 | akiss | getPixelSize(unit, pw, ph, pd); |
53 | 1 | akiss | print("Voxelsize="+pw+"x"+ph+"x"+pd+" "+unit+"^3"); |
54 | 1 | akiss | print("nSlices="+nSlices); |
55 | 1 | akiss | }; |
56 | 1 | akiss | run("Close All"); |
57 | 1 | akiss | print("Done with", FileName,"!"); |
58 | 1 | akiss | } else { |
59 | 1 | akiss | print("### ",FileName," Not a .lif file###"); |
60 | 1 | akiss | }; |
61 | 1 | akiss | }; |
62 | 1 | akiss | print("Done with this folder!!!"); |
63 | 1 | akiss | |
64 | 1 | akiss | |
65 | 1 | akiss |