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 {} | |