Spaces:
Sleeping
Sleeping
import nibabel as nib | |
from comp2comp.inference_class_base import InferenceClass | |
class ToCanonical(InferenceClass): | |
"""Convert spine segmentation to canonical orientation.""" | |
def __init__(self): | |
super().__init__() | |
def __call__(self, inference_pipeline): | |
""" | |
First dim goes from L to R. | |
Second dim goes from P to A. | |
Third dim goes from I to S. | |
""" | |
canonical_segmentation = nib.as_closest_canonical( | |
inference_pipeline.segmentation | |
) | |
canonical_medical_volume = nib.as_closest_canonical( | |
inference_pipeline.medical_volume | |
) | |
inference_pipeline.segmentation = canonical_segmentation | |
inference_pipeline.medical_volume = canonical_medical_volume | |
inference_pipeline.pixel_spacing_list = ( | |
canonical_medical_volume.header.get_zooms() | |
) | |
return {} | |