diff --git a/autoafids/workflow/envs/synthsr.yaml b/autoafids/workflow/envs/synthsr.yaml index 57d887b..8d4d23c 100644 --- a/autoafids/workflow/envs/synthsr.yaml +++ b/autoafids/workflow/envs/synthsr.yaml @@ -1,10 +1,6 @@ --- name: synthsr -channels: [anaconda, conda-forge, defaults] +channels: [khanlab, anaconda, conda-forge, defaults] dependencies: - python=3.8 - - tensorflow=2.2.0 - - keras=2.3.1 - - nibabel - - matplotlib - - numpy<1.20 + - synthsr diff --git a/autoafids/workflow/scripts/run_synthsr.py b/autoafids/workflow/scripts/run_synthsr.py index 27a0ebb..c202e7d 100644 --- a/autoafids/workflow/scripts/run_synthsr.py +++ b/autoafids/workflow/scripts/run_synthsr.py @@ -3,46 +3,22 @@ import subprocess -# clone SynthSR repo -def clone_repo(download_dir, log_file): - repo = "https://github.com/mackenziesnyder/SynthSR" - branch = "mackenzie/scaled-down-repo" - - repo_dir = os.path.join(download_dir, "SynthSR") - if os.path.exists(repo_dir): - logging.info( - f"SynthSR repository already exists at {repo_dir}. Skipping clone." - ) - return repo_dir - - with open(log_file, "a") as log: - try: - subprocess.run( - ["git", "clone", "--branch", branch, repo, repo_dir], - check=True, - stdout=log, - stderr=log - ) - except subprocess.CalledProcessError as e: - logging.error(f"Error cloning SynthSR repo: {e}") - raise - - return repo_dir - # run SynthSR def run_program( - repo_dir, input_img, output_img, modality, log_file ): - predict_script = os.path.join( - repo_dir, - "scripts", - "predict_command_line.py" - ) - cmd = ["python", predict_script, input_img, output_img, "--cpu"] + + cmd = [ + "python", + "-m", + "SynthSR.scripts.predict_command_line", + input_img, + output_img, + "--cpu" + ] if modality == "ct": cmd.append["--ct"] @@ -66,10 +42,8 @@ def run_program( log_file=snakemake.log[0] download_dir=snakemake.params["download_dir"] -repo_dir = clone_repo(download_dir, log_file) run_program( - repo_dir=repo_dir, input_img=snakemake.input["im"], output_img=snakemake.output["SynthSR"], modality=snakemake.params["modality"],