def save_singleplanes(imp, savepath, metainfo, mode='TZC', format='tiff'): """ This function is still in testing. """ titleext = imp.getTitle() title = os.path.splitext(titleext)[0] if mode == 'TZC': for t in range(metainfo['SizeT']): for z in range(metainfo['SizeZ']): for c in range(metainfo['SizeC']): # set position - channel, slice, frame imp.setPosition(c + 1, z + 1, t + 1) numberedtitle = title + "_t" + IJ.pad(t, 2) + "_z" + IJ.pad(z, 4) + "_c" + IJ.pad(c, 4) + "." + format stackindex = imp.getStackIndex(c + 1, z + 1, t + 1) aframe = ImagePlus(numberedtitle, imp.getStack().getProcessor(stackindex)) outputpath = os.path.join(savepath, numberedtitle) IJ.saveAs(aframe, "TIFF", outputpath) if mode == 'Z': c = 0 t = 0 for z in range(metainfo['SizeZ']): # set position - channel, slice, frame imp.setPosition(c + 1, z + 1, t + 1) znumber = MiscTools.addzeros(z) numberedtitle = title + "_z" + znumber + "." + format stackindex = imp.getStackIndex(c + 1, z + 1, t + 1) aframe = ImagePlus(numberedtitle, imp.getStack().getProcessor(stackindex)) outputpath = os.path.join(savepath, numberedtitle) IJ.saveAs(aframe, "TIFF", outputpath)
def save_hyperstack_as_image_sequence(imp, path): # make dir if not os.path.isdir(path): os.mkdir(path) #imp.show() ssize = imp.getStackSize() titleext = imp.getTitle() #print titleext title = os.path.splitext(titleext)[0] dimA = imp.getDimensions() print "Title",title," ----- Dimensions",dimA for c in range(dimA[2]): for z in range(dimA[3]): for t in range(dimA[4]): # imagej is one-based and we save zero-based numberedtitle = \ title + "--C" + IJ.pad(c, 2) + \ "--Z" + IJ.pad(z, 4) + \ "--T" + IJ.pad(t, 4) + ".tif" stackindex = imp.getStackIndex(c+1, z+1, t+1) # imagej is one-based aframe = ImagePlus(numberedtitle, imp.getStack().getProcessor(stackindex)) IJ.log("saving: " + os.path.join(path, numberedtitle)) IJ.saveAs(aframe, "TIFF", os.path.join(path, numberedtitle))
IJ.log("Maximum time lag analyzed: " + str(max_cycle_length) + " frames") #savepath = IJ.getDirectory("") #imp = IJ.getImage() #ssize = imp.getStackSize() #titleext = imp.getTitle() title = os.path.splitext(filename)[0] + "_STICS_map" #os.path.splitext(titleext)[0] save_imp = ImagePlus(title, result_stack) save_imp.show() dimA = save_imp.getDimensions() for c in range(dimA[2]): for z in range(dimA[3]): for t in range(dimA[4]): save_imp.setPosition(c+1, z+1, t+1) #print c, z, t numberedtitle = \ title + "_c" + IJ.pad(c, 2) + \ "_z" + IJ.pad(z, 4) + \ "_t" + IJ.pad(t, 4) + ".tif" stackindex = save_imp.getStackIndex(c + 1, z + 1, t + 1) aframe = ImagePlus(numberedtitle, save_imp.getStack().getProcessor(stackindex)) IJ.saveAs(aframe, "TIFF", coords_path + numberedtitle) #IJ.log("saved:" + numberedtitle) #IJ.saveAs(result_stack, "TIFF", coords_path) IJ.log("Saved " + str(dimA[3]) + " files at: " + coords_path) print("Done")
''' Saves a hyperstack as separate series of 2D images. Kota Miura 20130408 ''' from ij import IJ import os savepath = IJ.getDirectory("") imp = IJ.getImage() ssize = imp.getStackSize() titleext = imp.getTitle() title = os.path.splitext(titleext)[0] dimA = imp.getDimensions() for t in range(1, dimA[4] + 1): for z in range(1, dimA[3] +1 ): for w in range(1, dimA[2] +1 ): #imp.setPosition(w+1, z+1, t+1) print t, z, w numberedtitle = \ title + "_t" + IJ.pad(t, 4) + \ "_z" + IJ.pad(z, 4) + \ "_w" + IJ.pad(w, 4) + ".tif" stackindex = imp.getStackIndex(w, z, t) aframe = ImagePlus(numberedtitle, imp.getStack().getProcessor(stackindex)) IJ.saveAs(aframe, "TIFF", savepath + numberedtitle) IJ.log("saved: " + str(stackindex) + ", " + numberedtitle)