From ba3d2e6dff6795ee1733bbc029c007ce5bead07c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Dubreuil?= Date: Wed, 29 Jun 2022 13:04:48 -0400 Subject: [PATCH 01/18] Remove data_files entry --- setup.py | 1 - 1 file changed, 1 deletion(-) diff --git a/setup.py b/setup.py index 19e4249..c41deef 100644 --- a/setup.py +++ b/setup.py @@ -14,7 +14,6 @@ author="avcaron", author_email="", description="", - data_files=[(".", ["config.py", "config.json"])], scripts=list( filter(lambda s: "init" not in s, glob.glob("scripts/*.py")) ), From 3bc144e93ad2c9115f9b978d863645e6852c3cab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Dubreuil?= Date: Wed, 29 Jun 2022 13:22:04 -0400 Subject: [PATCH 02/18] Added default util --- simulator/default.py | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 simulator/default.py diff --git a/simulator/default.py b/simulator/default.py new file mode 100644 index 0000000..5d7b73e --- /dev/null +++ b/simulator/default.py @@ -0,0 +1,4 @@ +import typing + +SINGULARITY_PATH: typing.Final[str] = "utils" +SINGULARITY_NAME: typing.Final[str] = "voxsim_singularity_latest.sif" From e260acc3e306b7f4949c799bc638f896ecf31d65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Dubreuil?= Date: Wed, 29 Jun 2022 13:22:12 -0400 Subject: [PATCH 03/18] Added SingularityConfig class --- simulator/runner/config.py | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 simulator/runner/config.py diff --git a/simulator/runner/config.py b/simulator/runner/config.py new file mode 100644 index 0000000..2d4764a --- /dev/null +++ b/simulator/runner/config.py @@ -0,0 +1,8 @@ +import dataclasses +import simulator.default as default + + +@dataclasses.dataclass +class SingularityConfig: + singularity_path: str = default.SINGULARITY_PATH + singularity_name: str = default.SINGULARITY_NAME From d7d69669772b2634e3af509c6f0c45a1ad47ef34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Dubreuil?= Date: Wed, 29 Jun 2022 13:25:07 -0400 Subject: [PATCH 04/18] Format --- simulator/runner/legacy.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/simulator/runner/legacy.py b/simulator/runner/legacy.py index 463b321..fa721e1 100644 --- a/simulator/runner/legacy.py +++ b/simulator/runner/legacy.py @@ -14,11 +14,11 @@ from ..exceptions import SimulationRunnerException from ..utils.logging import RTLogging - logger = logging.getLogger(basename(__file__).split(".")[0]) class SimulationRunner: + def __init__( self, base_naming, From d6cf37fc752e22d1a0bd69e913744a38f2d5f33b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Dubreuil?= Date: Wed, 29 Jun 2022 13:25:44 -0400 Subject: [PATCH 05/18] Integrated SingularityConfig into legacy runner --- simulator/runner/legacy.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/simulator/runner/legacy.py b/simulator/runner/legacy.py index fa721e1..10e79c3 100644 --- a/simulator/runner/legacy.py +++ b/simulator/runner/legacy.py @@ -10,7 +10,7 @@ from numpy import ones_like, sum import nrrd -from config import get_config +from .config import SingularityConfig from ..exceptions import SimulationRunnerException from ..utils.logging import RTLogging @@ -24,7 +24,7 @@ def __init__( base_naming, geometry_infos, simulation_infos=None, - singularity_conf=get_config(), + singularity_conf=SingularityConfig(), output_nifti=False, ): self._geometry_path = geometry_infos["file_path"] @@ -40,7 +40,7 @@ def __init__( self._compartment_ids = simulation_infos["compartment_ids"] singularity_conf = ( - singularity_conf if singularity_conf else get_config() + singularity_conf if singularity_conf else SingularityConfig() ) self._singularity = path.join( singularity_conf["singularity_path"], From 49d6d9f8768d57a362eec983c9af75aa55605046 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Dubreuil?= Date: Wed, 29 Jun 2022 13:26:06 -0400 Subject: [PATCH 06/18] Format --- simulator/runner/simulation_runner.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/simulator/runner/simulation_runner.py b/simulator/runner/simulation_runner.py index 1857cc1..523e6e5 100755 --- a/simulator/runner/simulation_runner.py +++ b/simulator/runner/simulation_runner.py @@ -9,11 +9,11 @@ from .datastore import Datastore from ..utils.logging import RTLogging - logger = logging.getLogger(basename(__file__).split(".")[0]) class AsyncRunner: + def __init__(self): self._event_loop = new_event_loop() From 14481bda87adf4b5e23b7e396f12dccf015d0b1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Dubreuil?= Date: Wed, 29 Jun 2022 13:42:00 -0400 Subject: [PATCH 07/18] Format --- simulator/runner/config.py | 1 + 1 file changed, 1 insertion(+) diff --git a/simulator/runner/config.py b/simulator/runner/config.py index 2d4764a..4d17ac3 100644 --- a/simulator/runner/config.py +++ b/simulator/runner/config.py @@ -1,4 +1,5 @@ import dataclasses + import simulator.default as default From 0bde314321638bb3a15af528464a85bfa84269e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Dubreuil?= Date: Wed, 29 Jun 2022 15:38:01 -0400 Subject: [PATCH 08/18] Added singularity exec attribute to config --- simulator/default.py | 1 + simulator/runner/config.py | 1 + 2 files changed, 2 insertions(+) diff --git a/simulator/default.py b/simulator/default.py index 5d7b73e..45d3c33 100644 --- a/simulator/default.py +++ b/simulator/default.py @@ -2,3 +2,4 @@ SINGULARITY_PATH: typing.Final[str] = "utils" SINGULARITY_NAME: typing.Final[str] = "voxsim_singularity_latest.sif" +SINGULARITY_EXEC: typing.Final[str] = "singularity" diff --git a/simulator/runner/config.py b/simulator/runner/config.py index 4d17ac3..1368938 100644 --- a/simulator/runner/config.py +++ b/simulator/runner/config.py @@ -7,3 +7,4 @@ class SingularityConfig: singularity_path: str = default.SINGULARITY_PATH singularity_name: str = default.SINGULARITY_NAME + singularity_exec: str = default.SINGULARITY_EXEC From 8714a5eec87d1429d9967691078ed5e04304c7b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Dubreuil?= Date: Wed, 29 Jun 2022 15:43:28 -0400 Subject: [PATCH 09/18] Typo --- simulator/default.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/simulator/default.py b/simulator/default.py index 45d3c33..da6816d 100644 --- a/simulator/default.py +++ b/simulator/default.py @@ -1,5 +1,5 @@ import typing -SINGULARITY_PATH: typing.Final[str] = "utils" +SINGULARITY_PATH: typing.Final[str] = "." SINGULARITY_NAME: typing.Final[str] = "voxsim_singularity_latest.sif" SINGULARITY_EXEC: typing.Final[str] = "singularity" From 45247c0e1f4efaf7135ab5f160a99102a34d2832 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Dubreuil?= Date: Wed, 29 Jun 2022 15:56:41 -0400 Subject: [PATCH 10/18] Refactored config to include singularity attr --- simulator/default.py | 4 +++- simulator/runner/config.py | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/simulator/default.py b/simulator/default.py index da6816d..3a170b7 100644 --- a/simulator/default.py +++ b/simulator/default.py @@ -1,5 +1,7 @@ import typing +import pathlib -SINGULARITY_PATH: typing.Final[str] = "." +SINGULARITY_PATH: typing.Final[pathlib.PurePath] = pathlib.PurePath() SINGULARITY_NAME: typing.Final[str] = "voxsim_singularity_latest.sif" +SINGULARITY: typing.Final[pathlib.PurePath] = SINGULARITY_PATH / SINGULARITY_NAME SINGULARITY_EXEC: typing.Final[str] = "singularity" diff --git a/simulator/runner/config.py b/simulator/runner/config.py index 1368938..1667208 100644 --- a/simulator/runner/config.py +++ b/simulator/runner/config.py @@ -1,10 +1,10 @@ import dataclasses +import pathlib import simulator.default as default @dataclasses.dataclass class SingularityConfig: - singularity_path: str = default.SINGULARITY_PATH - singularity_name: str = default.SINGULARITY_NAME + singularity: pathlib.PurePath = default.SINGULARITY singularity_exec: str = default.SINGULARITY_EXEC From 825e4dc5f4b4ad0d22ee55d9ba4641d7e93b2dce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Dubreuil?= Date: Wed, 29 Jun 2022 15:59:11 -0400 Subject: [PATCH 11/18] Final integration of config in legacy runner --- simulator/runner/legacy.py | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/simulator/runner/legacy.py b/simulator/runner/legacy.py index 10e79c3..b73efbb 100644 --- a/simulator/runner/legacy.py +++ b/simulator/runner/legacy.py @@ -42,15 +42,8 @@ def __init__( singularity_conf = ( singularity_conf if singularity_conf else SingularityConfig() ) - self._singularity = path.join( - singularity_conf["singularity_path"], - singularity_conf["singularity_name"], - ) - self._singularity_exec = ( - singularity_conf["singularity_exec"] - if "singularity_exec" in singularity_conf - else "singularity" - ) + self._singularity = singularity_conf.singularity + self._singularity_exec = singularity_conf.singularity_exec self._run_simulation = True if simulation_infos else False self._extension = "nii.gz" if output_nifti else "nrrd" From 2240b4964cb13b28165ef474bcab27303f522568 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Dubreuil?= Date: Wed, 29 Jun 2022 16:00:28 -0400 Subject: [PATCH 12/18] Final integration of config in new runner --- simulator/runner/simulation_runner.py | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/simulator/runner/simulation_runner.py b/simulator/runner/simulation_runner.py index 523e6e5..ae13528 100755 --- a/simulator/runner/simulation_runner.py +++ b/simulator/runner/simulation_runner.py @@ -5,7 +5,7 @@ from os.path import basename from subprocess import PIPE, Popen -from config import get_config +from .config import SingularityConfig from .datastore import Datastore from ..utils.logging import RTLogging @@ -49,16 +49,11 @@ async def _run_async(self, command, log_file, log_tag): class SimulationRunner(AsyncRunner): _apps = {"phantom": "launch_voxsim", "diffusion mri": "launch_mitk"} - def __init__(self, singularity_conf=get_config()): - self._singularity = path.join( - singularity_conf["singularity_path"], - singularity_conf["singularity_name"], - ) + def __init__(self, singularity_conf=SingularityConfig()): + self._singularity = singularity_conf.singularity super().__init__() - self._singularity_exec = "singularity" - if "singularity_exec" in singularity_conf: - self._singularity_exec = singularity_conf["singularity_exec"] + self._singularity_exec = singularity_conf.singularity_exec def _bind_singularity(self, step, paths, arguments): return "{} run -B {} --app {} {} {}".format( From 53b84fa066c8f7b141baa5856e2d5795b9641f5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Dubreuil?= Date: Wed, 29 Jun 2022 16:02:18 -0400 Subject: [PATCH 13/18] Removed deprecated config files --- config.json | 5 ----- config.py | 13 ------------- 2 files changed, 18 deletions(-) delete mode 100644 config.json delete mode 100644 config.py diff --git a/config.json b/config.json deleted file mode 100644 index 3d18623..0000000 --- a/config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "singularity_path": ".", - "singularity_name": "voxsim_singularity_latest.sif" -} - diff --git a/config.py b/config.py deleted file mode 100644 index 232a35c..0000000 --- a/config.py +++ /dev/null @@ -1,13 +0,0 @@ -import json -from os.path import dirname, join, realpath - - -def get_config(path=dirname(realpath(__file__))): - with open(join(path, "config.json")) as f: - return json.load(f) - - -def override_global_config(config): - print(config) - with open(join(dirname(realpath(__file__)), "config.json"), "w+") as f: - json.dump(config, f) From 19ef8c8a7fd9cf2df73653a35e030f528f16a6df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Dubreuil?= Date: Wed, 29 Jun 2022 16:02:38 -0400 Subject: [PATCH 14/18] Import SingularityConfig when importing runner pkg --- simulator/runner/__init__.py | 1 + 1 file changed, 1 insertion(+) diff --git a/simulator/runner/__init__.py b/simulator/runner/__init__.py index 119609b..49dc376 100755 --- a/simulator/runner/__init__.py +++ b/simulator/runner/__init__.py @@ -1 +1,2 @@ +from .config import SingularityConfig from .simulation_runner import SimulationRunner From d0bb89a714fdb78fabdd45e9a86afd4069c39f23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Dubreuil?= Date: Wed, 29 Jun 2022 16:07:00 -0400 Subject: [PATCH 15/18] Bumped version --- setup.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/setup.py b/setup.py index c41deef..c2b3514 100644 --- a/setup.py +++ b/setup.py @@ -3,11 +3,10 @@ from simulator.utils.setup.documentation import DocCommand - if __name__ == "__main__": setup( name="simulation_generator", - version="1.0.0", + version="1.0.1", packages=find_packages(exclude=("tests", "tests.*")), url="", license="", From 5839e7897d827b63698eb1d9267999ef01775e7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Dubreuil?= Date: Fri, 1 Jul 2022 16:46:01 -0400 Subject: [PATCH 16/18] Prefixed module with `_` so it has a different name than its pkg --- simulator/factory/common/__init__.py | 2 +- simulator/factory/common/{common.py => _common.py} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename simulator/factory/common/{common.py => _common.py} (100%) mode change 100755 => 100644 diff --git a/simulator/factory/common/__init__.py b/simulator/factory/common/__init__.py index fd9d22f..8e48e44 100755 --- a/simulator/factory/common/__init__.py +++ b/simulator/factory/common/__init__.py @@ -1 +1 @@ -from .common import AttributeAsDictClass +from ._common import AttributeAsDictClass diff --git a/simulator/factory/common/common.py b/simulator/factory/common/_common.py old mode 100755 new mode 100644 similarity index 100% rename from simulator/factory/common/common.py rename to simulator/factory/common/_common.py From 59019ef85b9241fed102360fdaeecb56616acf3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Dubreuil?= Date: Fri, 1 Jul 2022 16:47:11 -0400 Subject: [PATCH 17/18] Prefixed module with `_` so it has a different name than its pkg --- simulator/factory/geometry_factory/__init__.py | 2 +- .../{geometry_factory.py => _geometry_factory.py} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename simulator/factory/geometry_factory/{geometry_factory.py => _geometry_factory.py} (100%) mode change 100755 => 100644 diff --git a/simulator/factory/geometry_factory/__init__.py b/simulator/factory/geometry_factory/__init__.py index b69e045..6cbe349 100755 --- a/simulator/factory/geometry_factory/__init__.py +++ b/simulator/factory/geometry_factory/__init__.py @@ -1,3 +1,3 @@ -from .geometry_factory import GeometryFactory +from ._geometry_factory import GeometryFactory from simulator.factory.geometry_factory.utils.plane import Plane from simulator.factory.geometry_factory.utils.rotation import Rotation diff --git a/simulator/factory/geometry_factory/geometry_factory.py b/simulator/factory/geometry_factory/_geometry_factory.py old mode 100755 new mode 100644 similarity index 100% rename from simulator/factory/geometry_factory/geometry_factory.py rename to simulator/factory/geometry_factory/_geometry_factory.py From 73b58f809fff76958431ba68d65584af29348392 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Dubreuil?= Date: Fri, 1 Jul 2022 16:49:12 -0400 Subject: [PATCH 18/18] Prefixed module with `_` so it has a different name than its pkg --- simulator/factory/simulation_factory/__init__.py | 2 +- .../{simulation_factory.py => _simulation_factory.py} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename simulator/factory/simulation_factory/{simulation_factory.py => _simulation_factory.py} (100%) mode change 100755 => 100644 diff --git a/simulator/factory/simulation_factory/__init__.py b/simulator/factory/simulation_factory/__init__.py index 1cb8895..fe0c0a9 100755 --- a/simulator/factory/simulation_factory/__init__.py +++ b/simulator/factory/simulation_factory/__init__.py @@ -1 +1 @@ -from .simulation_factory import SimulationFactory +from ._simulation_factory import SimulationFactory diff --git a/simulator/factory/simulation_factory/simulation_factory.py b/simulator/factory/simulation_factory/_simulation_factory.py old mode 100755 new mode 100644 similarity index 100% rename from simulator/factory/simulation_factory/simulation_factory.py rename to simulator/factory/simulation_factory/_simulation_factory.py