Page MenuHomec4science

fiji_script_vertical_combination.py
No OneTemporary

File Metadata

Created
Sat, May 11, 15:43

fiji_script_vertical_combination.py

#@String name
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
import json
#import file paths
json_file = open('files.json','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()
#Open images
unregistered_GC6s_info = opener.getTiffFileInfo(files['GC6s_input'])
unregistered_GC6s_imp = opener.openTiffStack(unregistered_GC6s_info)
unregistered_tdTom_info = opener.getTiffFileInfo(files['tdTom_input'])
unregistered_tdTom_imp = opener.openTiffStack(unregistered_tdTom_info)
registered_GC6s_info = opener.getTiffFileInfo(files['GC6s_registered'])
registered_GC6s_imp = opener.openTiffStack(registered_GC6s_info)
registered_tdTom_info = opener.getTiffFileInfo(files['tdTom_registered'])
registered_tdTom_imp = opener.openTiffStack(registered_tdTom_info)
vector_info = opener.getTiffFileInfo(files['vectors_out'])
vector_imp = opener.openTiffStack(vector_info)
#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()))
#Convert all images to RGB
unregistered_merged_channels_imp = RGBStackMerge.mergeChannels([unregistered_tdTom_imp, unregistered_GC6s_imp, None],False)
registered_merged_channels_imp = RGBStackMerge.mergeChannels([registered_tdTom_imp, registered_GC6s_imp, None],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('/home/aymanns/registration/results/test/combined.tif')

Event Timeline