Source code for torchio.datasets.mni.sheep

import shutil
import urllib.parse

from ...data import ScalarImage
from ...download import download_and_extract_archive
from ...utils import compress
from .mni import SubjectMNI


[docs] class Sheep(SubjectMNI): def __init__(self): self.name = 'NIFTI_ovine_05mm' self.url_dir = urllib.parse.urljoin(self.url_base, 'sheep/') self.filename = f'{self.name}.zip' self.url = urllib.parse.urljoin(self.url_dir, self.filename) t1_nii_path = self.download_root / 'ovine_model_05.nii' t1_niigz_path = self.download_root / 'ovine_model_05.nii.gz' if not self.download_root.is_dir(): download_and_extract_archive( self.url, download_root=self.download_root, filename=self.filename, ) shutil.rmtree(self.download_root / 'masks') for path in self.download_root.iterdir(): if path == t1_nii_path: compress(t1_nii_path, t1_niigz_path) path.unlink() try: subject_dict = {'t1': ScalarImage(t1_niigz_path)} except FileNotFoundError: # for backward compatibility subject_dict = {'t1': ScalarImage(t1_nii_path)} super().__init__(subject_dict)