Add All Folders
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
import os
|
||||
import luigi
|
||||
import SimpleITK as sitk
|
||||
from pathlib import Path
|
||||
from engine.utils import ensure_dir
|
||||
|
||||
class ImageReader(luigi.Task):
|
||||
data_dir = luigi.Parameter(default=os.path.join("data", "images"))
|
||||
artifacts_dir = luigi.Parameter(default="artifacts")
|
||||
|
||||
def output(self):
|
||||
out_dir = ensure_dir(Path(self.artifacts_dir) / "reader")
|
||||
return luigi.LocalTarget(str(out_dir / "reader_index.txt"))
|
||||
|
||||
def run(self):
|
||||
reader_dir = ensure_dir(Path(self.artifacts_dir) / "reader")
|
||||
files = [os.path.join(self.data_dir, f) for f in os.listdir(self.data_dir) if f.endswith(".nii.gz")]
|
||||
if not files:
|
||||
raise FileNotFoundError("No images found in data/images")
|
||||
converted_paths = []
|
||||
for path in files:
|
||||
img = sitk.ReadImage(path)
|
||||
img_float = sitk.Cast(img, sitk.sitkFloat32)
|
||||
out_path = reader_dir / f"reader_{Path(path).name}"
|
||||
sitk.WriteImage(img_float, str(out_path))
|
||||
converted_paths.append(str(out_path))
|
||||
with self.output().open("w") as f:
|
||||
f.write("\n".join(converted_paths))
|
||||
Reference in New Issue
Block a user