Source code for paws.core.operations.IO.IMAGE.FabIOOpen
from collections import OrderedDict
import os
import fabio
from ... import Operation as opmod
from ...Operation import Operation
inputs=OrderedDict(file_path=None)
outputs=OrderedDict(
image_data=None,
FabioImage=None,
dir_path=None,
filename=None)
[docs]class FabIOOpen(Operation):
"""
Takes a filesystem path and calls fabIO to load it.
"""
def __init__(self):
super(FabIOOpen,self).__init__(inputs,outputs)
self.input_doc['file_path'] = 'string representing the path to a .tif image'
self.output_doc['image_data'] = '2D array representing pixel values taken from the input file'
self.output_doc['FabioImage'] = 'The object generated by fabio.open()'
self.output_doc['dir_path'] = 'Path to the directory the image came from'
self.output_doc['filename'] = 'The image filename, no path, no extension'
self.input_datatype['file_path'] = 'str'
[docs] def run(self):
p = self.inputs['file_path']
dir_path = os.path.split(p)[0]
file_nopath = os.path.split(p)[1]
file_noext = os.path.splitext(file_nopath)[0]
self.outputs['dir_path'] = dir_path
self.outputs['filename'] = file_noext
self.outputs['FabioImage'] = fabio.open(p)
self.outputs['image_data'] = self.outputs['FabioImage'].data