Page MenuHomec4science

fiji_script_vertical_combination.py
No OneTemporary

File Metadata

Created
Tue, Jun 11, 15:05

fiji_script_vertical_combination.py

#@String parameter_file
#@Integer lmbd
#@Integer gamma
from ij import IJ, ImagePlus
from ij.io import Opener, FileSaver
from ij.plugin import RGBStackMerge, StackCombiner, Resizer
from ij.process import ImageConverter
from ij.plugin import Resizer, ZProjector, ImageCalculator
import sys
import json
#import file paths
json_file = open(parameter_file,'r')
text = json_file.read()
files = json.loads(text)
json_file.close()
#Instanciate necessary classes
opener = Opener()
RGB_stack_merge = RGBStackMerge()
stack_combiner = StackCombiner()
resizer = Resizer()
ic = ImageCalculator()
z_proj = ZProjector()
print('Processing lambda={} gamma={}'.format(lmbd,gamma))
outdir = files['output_dir']+'/l{}g{}'.format(lmbd,gamma)
#Open images
unregistered_GC6s_info = opener.getTiffFileInfo(files['output_dir']+'/GC6s_preprocessed.tif')
unregistered_GC6s_imp = opener.openTiffStack(unregistered_GC6s_info)
unregistered_tdTom_info = opener.getTiffFileInfo(files['output_dir']+'/tdTom_preprocessed.tif')
unregistered_tdTom_imp = opener.openTiffStack(unregistered_tdTom_info)
registered_GC6s_info = opener.getTiffFileInfo(outdir+'/warped2.tif')
registered_GC6s_imp = opener.openTiffStack(registered_GC6s_info)
registered_tdTom_info = opener.getTiffFileInfo(outdir+'/warped1.tif')
registered_tdTom_imp = opener.openTiffStack(registered_tdTom_info)
vector_info = opener.getTiffFileInfo(outdir+'/vectors.tif')
vector_imp = opener.openTiffStack(vector_info)
#Convert fluorescence images to 32-bit and adjust brightness
IJ.run(unregistered_GC6s_imp,"32-bit","slices")
IJ.run(registered_GC6s_imp,"32-bit","slices")
IJ.run(unregistered_tdTom_imp,"32-bit","slices")
IJ.run(registered_tdTom_imp,"32-bit","slices")
IJ.run(unregistered_GC6s_imp, "Enhance Contrast", "saturated=0.35");
IJ.run(registered_GC6s_imp, "Enhance Contrast", "saturated=0.35");
IJ.run(unregistered_tdTom_imp, "Enhance Contrast", "saturated=0.35");
IJ.run(registered_tdTom_imp, "Enhance Contrast", "saturated=0.35");
IJ.run(vector_imp, "Enhance Contrast", "saturated=0.35");
#Remove first frame from registered and unregistered stacks
IJ.run(unregistered_GC6s_imp, "Delete Slice", "")
IJ.run(registered_GC6s_imp, "Delete Slice", "")
IJ.run(unregistered_tdTom_imp, "Delete Slice", "")
IJ.run(registered_tdTom_imp, "Delete Slice", "")
#Upsample to resolution of vector image
IJ.run(unregistered_GC6s_imp, "Size...", "width=%d height=%d depth=%d interpolation=None" % (vector_imp.getWidth(),vector_imp.getHeight(),vector_imp.getStackSize()))
IJ.run(registered_GC6s_imp, "Size...", "width=%d height=%d depth=%d interpolation=None" % (vector_imp.getWidth(),vector_imp.getHeight(),vector_imp.getStackSize()))
IJ.run(unregistered_tdTom_imp, "Size...", "width=%d height=%d depth=%d interpolation=None" % (vector_imp.getWidth(),vector_imp.getHeight(),vector_imp.getStackSize()))
IJ.run(registered_tdTom_imp, "Size...", "width=%d height=%d depth=%d interpolation=None" % (vector_imp.getWidth(),vector_imp.getHeight(),vector_imp.getStackSize()))
#Rotate all images
IJ.run(unregistered_GC6s_imp,"Rotate...","angle=-90 grid=1 interpolation=Bilinear stack")
IJ.run(registered_GC6s_imp,"Rotate...","angle=-90 grid=1 interpolation=Bilinear stack")
IJ.run(unregistered_tdTom_imp,"Rotate...","angle=-90 grid=1 interpolation=Bilinear stack")
IJ.run(registered_tdTom_imp,"Rotate...","angle=-90 grid=1 interpolation=Bilinear stack")
IJ.run(vector_imp,"Rotate...","angle=-90 grid=1 interpolation=Bilinear stack")
#Convert all images to RGB
unregistered_merged_channels_imp = RGBStackMerge.mergeChannels([unregistered_tdTom_imp, unregistered_GC6s_imp, unregistered_GC6s_imp],False)
registered_merged_channels_imp = RGBStackMerge.mergeChannels([registered_tdTom_imp, registered_GC6s_imp, registered_GC6s_imp],False)
IJ.run(unregistered_merged_channels_imp, "RGB Color", "slices")
IJ.run(registered_merged_channels_imp, "RGB Color", "slices")
IJ.run(vector_imp, "RGB Color", "slices")
#Combine image into one (stacked on top of each other)
two_combined_stack = stack_combiner.combineVertically(unregistered_merged_channels_imp.getStack(), vector_imp.getStack())
three_combined_stack = stack_combiner.combineVertically(two_combined_stack, registered_merged_channels_imp.getStack())
#Save result
file_saver_combined_image = FileSaver(ImagePlus('combined',three_combined_stack))
file_saver_combined_image.saveAsTiffStack(outdir+'/column.tif')
##Calculate baseline average intensity
#n = unregistered_GC6s_imp.getStackSize()
#unregistered_GC6s_avg_imp = z_proj.run(unregistered_GC6s_imp,"avg")
#registered_GC6s_avg_imp = z_proj.run(registered_GC6s_imp,"avg")
#unregistered_tdTom_avg_imp = z_proj.run(unregistered_tdTom_imp,"avg")
#registered_tdTom_avg_imp = z_proj.run(registered_tdTom_imp,"avg")
#
#dF_imp = ic.run("Subtract create 32-bit stack", unregistered_GC6s_imp, unregistered_GC6s_avg_imp)
#dF_over_F_imp = ic.run("Divide create 32-bit stack", dF_imp,unregistered_GC6s_avg_imp)

Event Timeline