mosamatic2 2.0.9__tar.gz → 2.0.10__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of mosamatic2 might be problematic. Click here for more details.

Files changed (92) hide show
  1. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/PKG-INFO +3 -3
  2. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/pyproject.toml +3 -3
  3. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/cli.py +2 -0
  4. mosamatic2-2.0.10/src/mosamatic2/commands/defaultpipeline.py +70 -0
  5. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/core/tasks/selectslicefromscanstask/selectslicefromscanstask.py +6 -1
  6. mosamatic2-2.0.10/src/mosamatic2/ui/resources/VERSION +1 -0
  7. mosamatic2-2.0.9/src/mosamatic2/ui/resources/VERSION +0 -1
  8. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/README.md +0 -0
  9. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/models.py +0 -0
  10. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/__init__.py +0 -0
  11. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/app.py +0 -0
  12. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/commands/__init__.py +0 -0
  13. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/commands/calculatescores.py +0 -0
  14. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/commands/createdicomsummary.py +0 -0
  15. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/commands/createpngsfromsegmentations.py +0 -0
  16. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/commands/dicom2nifti.py +0 -0
  17. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/commands/rescaledicomimages.py +0 -0
  18. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/commands/segmentmusclefatl3tensorflow.py +0 -0
  19. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/commands/selectslicefromscans.py +0 -0
  20. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/constants.py +0 -0
  21. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/core/__init__.py +0 -0
  22. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/core/data/__init__.py +0 -0
  23. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/core/data/dicomimage.py +0 -0
  24. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/core/data/dicomimageseries.py +0 -0
  25. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/core/data/dixonseries.py +0 -0
  26. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/core/data/filedata.py +0 -0
  27. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/core/data/multidicomimage.py +0 -0
  28. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/core/data/multinumpyimage.py +0 -0
  29. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/core/data/numpyimage.py +0 -0
  30. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/core/managers/__init__.py +0 -0
  31. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/core/managers/logmanager.py +0 -0
  32. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/core/managers/logmanagerlistener.py +0 -0
  33. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/core/pipelines/__init__.py +0 -0
  34. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/core/pipelines/defaultpipeline/__init__.py +0 -0
  35. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/core/pipelines/defaultpipeline/defaultpipeline.py +0 -0
  36. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/core/pipelines/pipeline.py +0 -0
  37. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/core/singleton.py +0 -0
  38. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/core/tasks/__init__.py +0 -0
  39. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/core/tasks/calculatescorestask/__init__.py +0 -0
  40. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/core/tasks/calculatescorestask/calculatescorestask.py +0 -0
  41. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/core/tasks/createdicomsummarytask/__init__.py +0 -0
  42. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/core/tasks/createdicomsummarytask/createdicomsummarytask.py +0 -0
  43. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/core/tasks/createpngsfromsegmentationstask/__init__.py +0 -0
  44. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/core/tasks/createpngsfromsegmentationstask/createpngsfromsegmentationstask.py +0 -0
  45. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/core/tasks/dicom2niftitask/__init__.py +0 -0
  46. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/core/tasks/dicom2niftitask/dicom2niftitask.py +0 -0
  47. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/core/tasks/rescaledicomimagestask/__init__.py +0 -0
  48. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/core/tasks/rescaledicomimagestask/rescaledicomimagestask.py +0 -0
  49. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/core/tasks/segmentmusclefatl3tensorflowtask/__init__.py +0 -0
  50. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/core/tasks/segmentmusclefatl3tensorflowtask/paramloader.py +0 -0
  51. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/core/tasks/segmentmusclefatl3tensorflowtask/segmentmusclefatl3tensorflowtask.py +0 -0
  52. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/core/tasks/selectslicefromscanstask/__init__.py +0 -0
  53. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/core/tasks/task.py +0 -0
  54. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/core/utils.py +0 -0
  55. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/server.py +0 -0
  56. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/__init__.py +0 -0
  57. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/mainwindow.py +0 -0
  58. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/resources/icons/mosamatic2.icns +0 -0
  59. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/resources/icons/mosamatic2.ico +0 -0
  60. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/resources/icons/spinner.gif +0 -0
  61. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/resources/images/body-composition.jpg +0 -0
  62. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/settings.py +0 -0
  63. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/utils.py +0 -0
  64. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/widgets/__init__.py +0 -0
  65. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/widgets/dialogs/__init__.py +0 -0
  66. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/widgets/dialogs/dialog.py +0 -0
  67. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/widgets/dialogs/helpdialog.py +0 -0
  68. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/widgets/panels/__init__.py +0 -0
  69. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/widgets/panels/defaultpanel.py +0 -0
  70. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/widgets/panels/logpanel.py +0 -0
  71. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/widgets/panels/mainpanel.py +0 -0
  72. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/widgets/panels/pipelines/__init__.py +0 -0
  73. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/widgets/panels/pipelines/defaultpipelinepanel.py +0 -0
  74. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/widgets/panels/pipelines/pipelinepanel.py +0 -0
  75. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/widgets/panels/stackedpanel.py +0 -0
  76. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/widgets/panels/tasks/__init__.py +0 -0
  77. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/widgets/panels/tasks/calculatescorestaskpanel.py +0 -0
  78. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/widgets/panels/tasks/createdicomsummarytaskpanel.py +0 -0
  79. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/widgets/panels/tasks/createpngsfromsegmentationstaskpanel.py +0 -0
  80. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/widgets/panels/tasks/dicom2niftitaskpanel.py +0 -0
  81. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/widgets/panels/tasks/rescaledicomimagestaskpanel.py +0 -0
  82. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/widgets/panels/tasks/segmentmusclefatl3tensorflowtaskpanel.py +0 -0
  83. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/widgets/panels/tasks/selectslicefromscanstaskpanel.py +0 -0
  84. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/widgets/panels/tasks/taskpanel.py +0 -0
  85. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/widgets/panels/visualizations/__init__.py +0 -0
  86. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/widgets/panels/visualizations/slicevisualization/__init__.py +0 -0
  87. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/widgets/panels/visualizations/slicevisualization/custominteractorstyle.py +0 -0
  88. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/widgets/panels/visualizations/slicevisualization/sliceviewer.py +0 -0
  89. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/widgets/panels/visualizations/slicevisualization/slicevisualization.py +0 -0
  90. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/widgets/panels/visualizations/visualization.py +0 -0
  91. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/widgets/splashscreen.py +0 -0
  92. {mosamatic2-2.0.9 → mosamatic2-2.0.10}/src/mosamatic2/ui/worker.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: mosamatic2
3
- Version: 2.0.9
3
+ Version: 2.0.10
4
4
  Summary:
5
5
  Author: Ralph Brecheisen
6
6
  Author-email: r.brecheisen@maastrichtuniversity.nl
@@ -29,8 +29,8 @@ Requires-Dist: tensorflow-intel (==2.15.0) ; platform_system == "Windows"
29
29
  Requires-Dist: tensorflow-io-gcs-filesystem (==0.31.0) ; platform_system == "Windows"
30
30
  Requires-Dist: tensorflow-io-gcs-filesystem (>=0.31.0) ; platform_system == "Darwin" and platform_machine == "arm64"
31
31
  Requires-Dist: tensorflow-macos (==2.15.0) ; platform_system == "Darwin" and platform_machine == "arm64"
32
- Requires-Dist: torch (>=2.8.0)
33
- Requires-Dist: torchvision (>=0.23.0)
32
+ Requires-Dist: torch (==2.5.1)
33
+ Requires-Dist: torchvision (>=0.20.1)
34
34
  Requires-Dist: totalsegmentator (>=2.11.0)
35
35
  Requires-Dist: vtk (>=9.5.1)
36
36
  Description-Content-Type: text/markdown
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mosamatic2"
3
- version = "2.0.9"
3
+ version = "2.0.10"
4
4
  description = ""
5
5
  authors = [
6
6
  {name = "Ralph Brecheisen", email = "r.brecheisen@maastrichtuniversity.nl"}
@@ -19,8 +19,8 @@ dependencies = [
19
19
  "pillow>=11.3.0",
20
20
  "python-gdcm>=3.0.26",
21
21
  "scipy>=1.15.3",
22
- "torch>=2.8.0",
23
- "torchvision>=0.23.0",
22
+ "torch==2.5.1",
23
+ "torchvision>=0.20.1",
24
24
  "tensorflow==2.15.*; platform_system == 'Linux'",
25
25
  "tensorflow-intel==2.15.0; platform_system == 'Windows'",
26
26
  "tensorflow-macos==2.15.0; platform_system == 'Darwin' and platform_machine == 'arm64'",
@@ -7,6 +7,7 @@ from mosamatic2.commands import (
7
7
  dicom2nifti,
8
8
  selectslicefromscans,
9
9
  createdicomsummary,
10
+ defaultpipeline,
10
11
  )
11
12
  from mosamatic2.core.utils import show_doc_command
12
13
 
@@ -35,4 +36,5 @@ main.add_command(createpngsfromsegmentations.createpngsfromsegmentations)
35
36
  main.add_command(dicom2nifti.dicom2nifti)
36
37
  main.add_command(selectslicefromscans.selectslicefromscans)
37
38
  main.add_command(createdicomsummary.createdicomsummary)
39
+ main.add_command(defaultpipeline.defaultpipeline)
38
40
  main.add_command(show_doc_command(main)) # Special command to show long description for command
@@ -0,0 +1,70 @@
1
+ import click
2
+
3
+ from mosamatic2.core.pipelines import DefaultPipeline
4
+
5
+
6
+ @click.command(help='Runs default L3 analysis pipeline')
7
+ @click.option(
8
+ '--images',
9
+ required=True,
10
+ type=click.Path(exists=True),
11
+ help='Directory with L3 images',
12
+ )
13
+ @click.option(
14
+ '--model_files',
15
+ required=True,
16
+ type=click.Path(),
17
+ help='Input directory with AI model files'
18
+ )
19
+ @click.option(
20
+ '--output',
21
+ required=True,
22
+ type=click.Path(),
23
+ help='Output directory'
24
+ )
25
+ @click.option(
26
+ '--overwrite',
27
+ type=click.BOOL,
28
+ default=False,
29
+ help='Overwrite [true|false]'
30
+ )
31
+ def defaultpipeline(images, model_files, output, overwrite):
32
+ """
33
+ Runs default L3 analysis pipeline
34
+
35
+ Parameters
36
+ ----------
37
+ --images : str
38
+ Directory with L3 images
39
+
40
+ --model_files : str
41
+ Directory with AI model files. This directory can ONLY contain the following
42
+ files:
43
+
44
+ (1) contour_model-1.0.zip
45
+ (2) model-1.0.zip
46
+ (3) params-1.0.json
47
+
48
+ These files can be downloaded from:
49
+ https://mosamatic.rbeesoft.nl/wordpress/mosamatic/installation/
50
+
51
+ --output : str
52
+ Path to output directory
53
+
54
+ --overwrite : bool
55
+ Overwrite contents output directory [true|false]
56
+ """
57
+ pipeline = DefaultPipeline(
58
+ inputs={'images': images, 'model_files': model_files},
59
+ params={
60
+ 'target_size': 512,
61
+ 'model_type': 'tensorflow',
62
+ 'model_version': 1.0,
63
+ 'file_type': 'npy',
64
+ 'fig_width': 10,
65
+ 'fig_height': 10,
66
+ },
67
+ output=output,
68
+ overwrite=overwrite,
69
+ )
70
+ pipeline.run()
@@ -97,7 +97,12 @@ class SelectSliceFromScansTask(Task):
97
97
  for step in range(nr_steps):
98
98
  scan_dir = scan_dirs[step]
99
99
  scan_name = os.path.split(scan_dir)[1]
100
- self.extract_masks(scan_dir)
100
+ try:
101
+ self.extract_masks(scan_dir)
102
+ except Exception as e:
103
+ LOG.warning(f'Could not extract masks from {scan_dir} [{str(e)}]')
104
+ self.set_progress(step, nr_steps)
105
+ continue
101
106
  file_path = self.find_slice(scan_dir, vertebra)
102
107
  if file_path is not None:
103
108
  extension = '' if file_path.endswith('.dcm') else '.dcm'
@@ -1 +0,0 @@
1
- 2.0.9
File without changes
File without changes