Exemplo n.º 1
0
        ssL.append(im2)

print "New dimensions:"
nf = 0
for (j,i) in enumerate(ssL):
    nf+=i.getNFrames()
    print "%i/%i" % (j+1, len(ssL)), i.getNSlices(), i.getNChannels(), i.getNFrames(), i.getTitle()
        
print "Concatenating everything"
out = Concatenator().concatenate(ssL, False)
if nff:
    out = ij.plugin.HyperStackConverter.toHyperStack(out,out.getNChannels(), maxZ, nf)
if out is None:
    print "Concatenation failed"
    sys.exit(1)
print out.getNChannels(), out.getNFrames(), out.getNSlices(), types[out.type]
print out.getNChannels(), nf, maxZ
print "Stacks concatenated, dimensions: (S=%i, C=%i, F=%i), adding overlay." % (out.getNSlices(), out.getNChannels(), out.getNFrames())
#IJ.saveAs(out, "Tiff", of+'.DEUX.ome.tif') ## DBG

# === Identify & remove dark frames
def extractFrame(imp, nFrame):
 """ Extract a stack for a specific color channel and time frame """
 stack = imp.getImageStack()
 ch = ij.ImageStack(imp.width, imp.height)
 for i in range(1, imp.getNSlices() + 1):
     for j in range(1, imp.getNChannels()+1):
         index = imp.getStackIndex(j, i, nFrame)
         ch.addSlice(str(i)+"-"+str(j), stack.getProcessor(index))
 return ij.ImagePlus("Frame " + str(nFrame), ch)
            print("Loading data...")
            if len(imfilenames) > 2:
                fo = FolderOpener()
                imp = fo.open(p)
                imp.show()
                print("N_z = {}".format(imp.getNSlices()))
                print("N_c = {}".format(imp.getNChannels()))
                print("N_t = {}".format(imp.getNFrames()))

            else:
                ch1_imp = IJ.openImage(os.path.join(p, imfilenames[0]))
                ch2_imp = IJ.openImage(os.path.join(p, imfilenames[1]))
                imp = Concatenator().concatenate(ch1_imp, ch2_imp, False)
            imp2 = HyperStackConverter.toHyperStack(imp, 2,
                                                    int(imp.getNSlices() / 2),
                                                    1, "xyzct", "Composite")
            imp2.show()
            imp.close()
            print("Saving data...")
            out_dir = os.path.dirname(os.path.dirname(p))
            save_path = os.path.join(out_dir, fname + ".tif")
            FileSaver(imp2).saveAsTiffStack(save_path)
            print("Copying metadata...")
            shutil.copyfile(os.path.join(p, fname + ".txt"),
                            os.path.join(out_dir, metadata_file))
            imp2.close()

        except Exception as e:
            print(e)
            print("Problem with {}".format(p))