Statistiques
| Révision :

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