Source code for pyfibre.shg_pl_trans.utils
import os
IMAGE_TYPES = {'SHG': '-shg',
'PL-Trans': '-pl',
'SHG-PL-Trans': '-pl-shg'}
[docs]def filter_input_files(input_files):
removed_files = []
for filename in input_files:
if not filename.endswith('.tif'):
removed_files.append(filename)
elif 'display' in filename:
removed_files.append(filename)
elif 'virada' in filename != -1:
removed_files.append(filename)
for filename in removed_files:
input_files.remove(filename)
return input_files
[docs]def extract_prefix(image_name, label):
"""Extract the prefix of image_name, before label"""
directory = os.path.dirname(image_name)
filename = os.path.basename(image_name)
filename_copy = filename.lower()
index = filename_copy.index(label.lower())
prefix = os.path.join(directory, filename[: index])
return prefix
[docs]def get_files_prefixes(input_files, image_type):
"""Get the file path and file prefix of all files
containing label"""
label = IMAGE_TYPES[image_type]
files = [filename for filename in input_files
if image_type == get_image_type(filename)]
prefixes = [extract_prefix(filename, label) for filename in files]
return files, prefixes
[docs]def get_image_type(image_path):
"""Get type of image (PL, SHG or SHG-PL-Trans) from file name"""
image_name = os.path.basename(image_path)
if '-pl-shg' in image_name.lower():
image_type = 'SHG-PL-Trans'
elif '-pl' in image_name.lower():
image_type = 'PL-Trans'
elif '-shg' in image_name.lower():
image_type = 'SHG'
else:
image_type = 'Unknown'
return image_type