Add All Folders
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
import json
|
||||
import os
|
||||
from pathlib import Path
|
||||
import shutil
|
||||
import luigi
|
||||
from engine.utils import ensure_dir
|
||||
|
||||
|
||||
class ImageWriter(luigi.Task):
|
||||
artifacts_dir = luigi.Parameter(default="artifacts")
|
||||
|
||||
def requires(self):
|
||||
from engine.tasks_radiomics import FeatureExtraction
|
||||
return FeatureExtraction(artifacts_dir=self.artifacts_dir)
|
||||
|
||||
def output(self):
|
||||
return luigi.LocalTarget(os.path.join(self.artifacts_dir, "final_output.json"))
|
||||
|
||||
def run(self):
|
||||
# Copy Excel file generated by PySERA to artifacts/radiomics3d
|
||||
excel_src = Path(self.artifacts_dir) / "Radiomics_Results.xlsx"
|
||||
if excel_src.exists():
|
||||
dst_dir = ensure_dir(Path(self.artifacts_dir) / "radiomics3d")
|
||||
excel_dst = dst_dir / "Radiomics_Results.xlsx"
|
||||
shutil.copy2(excel_src, excel_dst)
|
||||
|
||||
# Load summary JSON from FeatureExtraction
|
||||
with self.requires().output().open("r") as f:
|
||||
summary = json.load(f)
|
||||
|
||||
# Write final summary JSON
|
||||
with self.output().open("w") as f:
|
||||
json.dump(summary, f, indent=2, ensure_ascii=False)
|
||||
Reference in New Issue
Block a user