tomwer 1.2.0a2__py3-none-any.whl → 1.2.0a4__py3-none-any.whl
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.
- orangecontrib/tomwer/widgets/control/SingleTomoObjOW.py +0 -6
- orangecontrib/tomwer/widgets/reconstruction/DarkRefAndCopyOW.py +6 -2
- orangecontrib/tomwer/widgets/reconstruction/NabuHelicalPrepareWeightsDoubleOW.py +169 -169
- tomwer/app/canvas_launcher/mainwindow.py +0 -3
- tomwer/app/imagekeyeditor.py +1 -0
- tomwer/app/imagekeyupgrader.py +2 -0
- tomwer/app/nxtomoeditor.py +2 -0
- tomwer/app/zstitching.py +1 -0
- tomwer/core/process/reconstruction/nabu/nabucommon.py +57 -12
- tomwer/core/process/reconstruction/nabu/nabuscores.py +3 -2
- tomwer/core/process/reconstruction/nabu/nabuslices.py +7 -9
- tomwer/core/process/reconstruction/nabu/nabuvolume.py +10 -9
- tomwer/core/process/reconstruction/nabu/utils.py +10 -36
- tomwer/core/process/test/test_nabu.py +5 -5
- tomwer/gui/visualization/reconstructionparameters.py +9 -1
- tomwer/gui/visualization/volumeviewer.py +2 -0
- tomwer/resources/gui/icons/esrf_1.svg +307 -0
- tomwer/resources/gui/icons/triangle.svg +80 -0
- tomwer/version.py +1 -1
- {tomwer-1.2.0a2.dist-info → tomwer-1.2.0a4.dist-info}/METADATA +1 -1
- {tomwer-1.2.0a2.dist-info → tomwer-1.2.0a4.dist-info}/RECORD +27 -32
- tomwer/third_party/__init__.py +0 -0
- tomwer/third_party/nabu/__init__.py +0 -0
- tomwer/third_party/nabu/preproc/__init__.py +0 -0
- tomwer/third_party/nabu/preproc/phase.py +0 -387
- tomwer/third_party/nabu/utils.py +0 -201
- tomwer/third_party/tango/__init__.py +0 -0
- tomwer/third_party/tango/device.py +0 -15
- /tomwer-1.2.0a2-py3.11-nspkg.pth → /tomwer-1.2.0a4-py3.11-nspkg.pth +0 -0
- {tomwer-1.2.0a2.dist-info → tomwer-1.2.0a4.dist-info}/LICENSE +0 -0
- {tomwer-1.2.0a2.dist-info → tomwer-1.2.0a4.dist-info}/WHEEL +0 -0
- {tomwer-1.2.0a2.dist-info → tomwer-1.2.0a4.dist-info}/entry_points.txt +0 -0
- {tomwer-1.2.0a2.dist-info → tomwer-1.2.0a4.dist-info}/namespace_packages.txt +0 -0
- {tomwer-1.2.0a2.dist-info → tomwer-1.2.0a4.dist-info}/top_level.txt +0 -0
@@ -224,7 +224,9 @@ class VolumeRunner(_NabuBaseReconstructor):
|
|
224
224
|
# force overwrite results
|
225
225
|
if "output" not in self.configuration:
|
226
226
|
self.configuration["output"] = {}
|
227
|
-
config_slices = self._treateOutputConfig(self.configuration)
|
227
|
+
config_slices, cfg_folder = self._treateOutputConfig(self.configuration)
|
228
|
+
|
229
|
+
# force overwriting results
|
228
230
|
config_slices["output"].update({"overwrite_results": 1})
|
229
231
|
|
230
232
|
# check and clamp `start_z` and `end_z`
|
@@ -242,12 +244,6 @@ class VolumeRunner(_NabuBaseReconstructor):
|
|
242
244
|
value = -1
|
243
245
|
config_slices["reconstruction"][key] = value
|
244
246
|
|
245
|
-
cfg_folder = os.path.join(
|
246
|
-
config_slices["output"]["location"], settings.NABU_CFG_FILE_FOLDER
|
247
|
-
)
|
248
|
-
if not os.path.exists(cfg_folder):
|
249
|
-
os.makedirs(cfg_folder)
|
250
|
-
|
251
247
|
name = (
|
252
248
|
config_slices["output"]["file_prefix"] + settings.NABU_CONFIG_FILE_EXTENSION
|
253
249
|
)
|
@@ -256,6 +252,9 @@ class VolumeRunner(_NabuBaseReconstructor):
|
|
256
252
|
conf_file = os.path.join(cfg_folder, name)
|
257
253
|
_logger.info(f"{self.scan}: create {conf_file}")
|
258
254
|
|
255
|
+
# make sure output location exists
|
256
|
+
os.makedirs(config_slices["output"]["location"], exist_ok=True)
|
257
|
+
|
259
258
|
# add some tomwer metadata and save the configuration
|
260
259
|
# note: for now the section is ignored by nabu but shouldn't stay that way
|
261
260
|
with utils.TomwerInfo(config_slices) as config_to_dump:
|
@@ -317,7 +316,9 @@ class VolumeRunner(_NabuBaseReconstructor):
|
|
317
316
|
:return: (nabu config dict, nabu extra options)
|
318
317
|
"""
|
319
318
|
config = copy.deepcopy(config)
|
320
|
-
config = super()._treateOutputSliceConfig(config)
|
319
|
+
config, nabu_cfg_folder = super()._treateOutputSliceConfig(config)
|
320
|
+
os.makedirs(config["output"]["location"], exist_ok=True)
|
321
|
+
|
321
322
|
# adapt config_s to specific volume treatment
|
322
323
|
if "postproc" in config:
|
323
324
|
config["postproc"] = config["postproc"]
|
@@ -329,7 +330,7 @@ class VolumeRunner(_NabuBaseReconstructor):
|
|
329
330
|
config["reconstruction"]["end_z"] = config["end_z"]
|
330
331
|
del config["end_z"]
|
331
332
|
|
332
|
-
return config
|
333
|
+
return config, nabu_cfg_folder
|
333
334
|
|
334
335
|
@docstring(_NabuBaseReconstructor)
|
335
336
|
def _get_file_basename_reconstruction(self, pag, db, ctf):
|
@@ -159,7 +159,7 @@ def get_recons_volume_identifier(
|
|
159
159
|
if file_format in ("hdf5", "h5", "hdf"):
|
160
160
|
if slice_index is not None:
|
161
161
|
# case of a single hdf5 file
|
162
|
-
file_name = "_".join((file_prefix, str(slice_index).zfill(
|
162
|
+
file_name = "_".join((file_prefix, str(slice_index).zfill(6)))
|
163
163
|
else:
|
164
164
|
file_name = file_prefix
|
165
165
|
file_name = ".".join((file_name, file_format))
|
@@ -179,23 +179,13 @@ def get_recons_volume_identifier(
|
|
179
179
|
elif file_format in ("vol", "raw"):
|
180
180
|
if slice_index is not None:
|
181
181
|
# case of a single hdf5 file
|
182
|
-
file_name = "_".join((file_prefix, str(slice_index).zfill(
|
182
|
+
file_name = "_".join((file_prefix, str(slice_index).zfill(6)))
|
183
183
|
else:
|
184
184
|
file_name = file_prefix
|
185
|
-
# on 2022.3.x the location seems invalid for nabu. Add this second location to
|
186
|
-
# handle most of the case.
|
187
|
-
fix_nabu = os.path.join(file_prefix, file_name)
|
188
|
-
|
189
185
|
file_name = ".".join((file_name, file_format))
|
190
186
|
file_path = os.path.join(location, file_name)
|
191
187
|
|
192
|
-
|
193
|
-
file_path_fix_nabu = os.path.join(location, file_name_fix_nabu)
|
194
|
-
|
195
|
-
volumes = (
|
196
|
-
RawVolume(file_path=file_path_fix_nabu),
|
197
|
-
RawVolume(file_path=file_path),
|
198
|
-
)
|
188
|
+
volumes = (RawVolume(file_path=file_path),)
|
199
189
|
elif file_format in ("jp2", "jp2k", "edf", "tiff"):
|
200
190
|
if file_format in ("jp2k", "jp2"):
|
201
191
|
constructor = JP2KVolume
|
@@ -205,31 +195,15 @@ def get_recons_volume_identifier(
|
|
205
195
|
constructor = TIFFVolume
|
206
196
|
else:
|
207
197
|
raise NotImplementedError
|
208
|
-
output_extension = file_format
|
209
198
|
basename = file_prefix
|
199
|
+
file_path = location
|
200
|
+
volumes = (
|
201
|
+
constructor(
|
202
|
+
folder=location,
|
203
|
+
volume_basename=basename,
|
204
|
+
),
|
205
|
+
)
|
210
206
|
|
211
|
-
if slice_index is None and start_z is None and end_z is None:
|
212
|
-
# if this is a single slice
|
213
|
-
file_path = ".".join(
|
214
|
-
(
|
215
|
-
os.path.join(location, file_prefix, file_prefix),
|
216
|
-
output_extension,
|
217
|
-
)
|
218
|
-
)
|
219
|
-
# TODO: in the future we might want to provide data_slice according to z values
|
220
|
-
volumes = (
|
221
|
-
constructor(
|
222
|
-
folder=os.path.join(location, file_prefix),
|
223
|
-
volume_basename=basename,
|
224
|
-
),
|
225
|
-
)
|
226
|
-
else:
|
227
|
-
volumes = (
|
228
|
-
constructor(
|
229
|
-
folder=os.path.join(location, file_prefix),
|
230
|
-
volume_basename=basename,
|
231
|
-
),
|
232
|
-
)
|
233
207
|
# case of the multitiff. Not handled by tomwer
|
234
208
|
# elif file_format == "tiff":
|
235
209
|
# # for single frame tiff nabu uses another convention by saving it 'directly'.
|
@@ -127,7 +127,7 @@ class TestNabuIni(unittest.TestCase):
|
|
127
127
|
# check volume and slice .cfg files for nabu reconstruction are here
|
128
128
|
for file_name in (
|
129
129
|
os.path.basename(self.scan.path) + ".cfg",
|
130
|
-
os.path.basename(self.scan.path) + "
|
130
|
+
os.path.basename(self.scan.path) + "slice_000001" + ".cfg",
|
131
131
|
):
|
132
132
|
with self.subTest(file_name=file_name):
|
133
133
|
self.assertTrue(
|
@@ -151,7 +151,7 @@ class TestNabuIni(unittest.TestCase):
|
|
151
151
|
# check volume and slice .cfg files for nabu reconstruction are here
|
152
152
|
for file_name in (
|
153
153
|
os.path.basename(self.scan.path) + "pag_db0100.cfg",
|
154
|
-
os.path.basename(self.scan.path) + "
|
154
|
+
os.path.basename(self.scan.path) + "slice_pag_000001_db0100" + ".cfg",
|
155
155
|
):
|
156
156
|
with self.subTest(file_name=file_name):
|
157
157
|
self.assertTrue(
|
@@ -178,7 +178,7 @@ class TestNabuIni(unittest.TestCase):
|
|
178
178
|
ini_files.append(
|
179
179
|
os.path.basename(self.scan.path)
|
180
180
|
+ "slice_"
|
181
|
-
+ str(slice_index).zfill(
|
181
|
+
+ str(slice_index).zfill(6)
|
182
182
|
+ ".cfg"
|
183
183
|
)
|
184
184
|
|
@@ -222,7 +222,7 @@ class TestNabuIni(unittest.TestCase):
|
|
222
222
|
# add slice ini file
|
223
223
|
ini_files.append(
|
224
224
|
os.path.basename(self.scan.path)
|
225
|
-
+ "
|
225
|
+
+ "slice_pag_000001_db"
|
226
226
|
+ str(int(pag_db)).zfill(4)
|
227
227
|
+ ".cfg"
|
228
228
|
)
|
@@ -265,7 +265,7 @@ class TestNabuIni(unittest.TestCase):
|
|
265
265
|
ini_files.append(
|
266
266
|
os.path.basename(self.scan.path)
|
267
267
|
+ "slice_pag_"
|
268
|
-
+ str(slice_index).zfill(
|
268
|
+
+ str(slice_index).zfill(6)
|
269
269
|
+ "_db"
|
270
270
|
+ str(pag_db).zfill(4)
|
271
271
|
+ ".cfg"
|
@@ -160,15 +160,23 @@ class ReconstructionParameters(qt.QWidget):
|
|
160
160
|
# voxel size can be stored as pixel size (old version) or voxel size (new version)
|
161
161
|
recons_params = metadata.get("processing_options", {}).get("reconstruction", {})
|
162
162
|
voxel_size_cm = recons_params.get("voxel_size_cm", None)
|
163
|
+
|
163
164
|
# now voxel size is expected to be a tuple of three elements
|
164
165
|
if voxel_size_cm is not None:
|
165
166
|
voxel_size_cm = voxel_size_cm[0]
|
167
|
+
# FIXME: load_ini seems to fail to remove some char like '(' or ')'... to be fixed or investigate
|
168
|
+
# simplest might be to filter those when dumping it to text file... ??? or to handle those at silx level
|
169
|
+
if isinstance(voxel_size_cm, str):
|
170
|
+
for char_to_ignore in (" ", "(", ")", "[", "]"):
|
171
|
+
voxel_size_cm = voxel_size_cm.replace(char_to_ignore, "")
|
166
172
|
else:
|
167
173
|
# backward compatibility with old volume
|
168
174
|
voxel_size_cm = recons_params.get("pixel_size_cm", None)
|
169
175
|
if voxel_size_cm is not None:
|
170
176
|
voxel_size_cm = f"{float(voxel_size_cm):.8}"
|
171
|
-
self._pixelSizeQLE.setText(
|
177
|
+
self._pixelSizeQLE.setText(
|
178
|
+
str(voxel_size_cm) if voxel_size_cm is not None else ""
|
179
|
+
)
|
172
180
|
|
173
181
|
def _setCor(self, metadata: dict):
|
174
182
|
cor = (
|
@@ -357,6 +357,8 @@ class VolumeViewer(qt.QMainWindow):
|
|
357
357
|
self._set_volume(data)
|
358
358
|
# set reconstruction parameters
|
359
359
|
try:
|
360
|
+
# warning: limitation expected for .vol as it gets two configuration file. The default one is vol.info and does not contains
|
361
|
+
# any of the metadata 'distance', 'pixel size'... but it is here for backward compatiblity
|
360
362
|
self._reconsWidget.setVolumeMetadata(
|
361
363
|
volume.metadata or volume.load_metadata()
|
362
364
|
)
|
@@ -0,0 +1,307 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
2
|
+
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
3
|
+
|
4
|
+
<svg
|
5
|
+
width="48"
|
6
|
+
height="48"
|
7
|
+
viewBox="0 0 12.7 12.7"
|
8
|
+
version="1.1"
|
9
|
+
id="svg911"
|
10
|
+
xml:space="preserve"
|
11
|
+
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
|
12
|
+
sodipodi:docname="esrf_1.svg"
|
13
|
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
14
|
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
15
|
+
xmlns:xlink="http://www.w3.org/1999/xlink"
|
16
|
+
xmlns="http://www.w3.org/2000/svg"
|
17
|
+
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
|
18
|
+
id="namedview913"
|
19
|
+
pagecolor="#ffffff"
|
20
|
+
bordercolor="#000000"
|
21
|
+
borderopacity="0.25"
|
22
|
+
inkscape:showpageshadow="2"
|
23
|
+
inkscape:pageopacity="0.0"
|
24
|
+
inkscape:pagecheckerboard="0"
|
25
|
+
inkscape:deskcolor="#d1d1d1"
|
26
|
+
inkscape:document-units="mm"
|
27
|
+
showgrid="false"
|
28
|
+
inkscape:zoom="6.7277216"
|
29
|
+
inkscape:cx="17.910967"
|
30
|
+
inkscape:cy="53.361304"
|
31
|
+
inkscape:window-width="1920"
|
32
|
+
inkscape:window-height="1131"
|
33
|
+
inkscape:window-x="0"
|
34
|
+
inkscape:window-y="32"
|
35
|
+
inkscape:window-maximized="1"
|
36
|
+
inkscape:current-layer="layer1" /><defs
|
37
|
+
id="defs908" /><g
|
38
|
+
inkscape:label="Layer 1"
|
39
|
+
inkscape:groupmode="layer"
|
40
|
+
id="layer1"><image
|
41
|
+
width="18.843178"
|
42
|
+
height="19.58782"
|
43
|
+
preserveAspectRatio="none"
|
44
|
+
xlink:href="data:image/png;base64,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
|
303
|
+
"
|
304
|
+
id="image1040"
|
305
|
+
x="-3.5774627"
|
306
|
+
y="-0.34973973"
|
307
|
+
inkscape:highlight-color="#0a51c2" /></g></svg>
|
@@ -0,0 +1,80 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
2
|
+
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
3
|
+
|
4
|
+
<svg
|
5
|
+
width="48"
|
6
|
+
height="48"
|
7
|
+
viewBox="0 0 12.7 12.7"
|
8
|
+
version="1.1"
|
9
|
+
id="svg1097"
|
10
|
+
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
|
11
|
+
sodipodi:docname="triangle.svg"
|
12
|
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
13
|
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
14
|
+
xmlns="http://www.w3.org/2000/svg"
|
15
|
+
xmlns:svg="http://www.w3.org/2000/svg">
|
16
|
+
<sodipodi:namedview
|
17
|
+
id="namedview1099"
|
18
|
+
pagecolor="#ffffff"
|
19
|
+
bordercolor="#000000"
|
20
|
+
borderopacity="0.25"
|
21
|
+
inkscape:showpageshadow="2"
|
22
|
+
inkscape:pageopacity="0.0"
|
23
|
+
inkscape:pagecheckerboard="0"
|
24
|
+
inkscape:deskcolor="#d1d1d1"
|
25
|
+
inkscape:document-units="mm"
|
26
|
+
showgrid="false"
|
27
|
+
inkscape:zoom="9.5144352"
|
28
|
+
inkscape:cx="29.166208"
|
29
|
+
inkscape:cy="27.852415"
|
30
|
+
inkscape:window-width="1920"
|
31
|
+
inkscape:window-height="1163"
|
32
|
+
inkscape:window-x="1920"
|
33
|
+
inkscape:window-y="0"
|
34
|
+
inkscape:window-maximized="1"
|
35
|
+
inkscape:current-layer="layer1" />
|
36
|
+
<defs
|
37
|
+
id="defs1094" />
|
38
|
+
<g
|
39
|
+
inkscape:label="Layer 1"
|
40
|
+
inkscape:groupmode="layer"
|
41
|
+
id="layer1">
|
42
|
+
<path
|
43
|
+
style="fill:#ffffff;stroke:#000000;stroke-width:0.4;stroke-linejoin:round"
|
44
|
+
d="M 1.8939624,10.526614 10.57789,10.508604 10.61321,2.0330588 Z"
|
45
|
+
id="path1281" />
|
46
|
+
<path
|
47
|
+
style="fill:#ffffff;stroke:#000000;stroke-width:0.4;stroke-linejoin:round"
|
48
|
+
d="M 4.5730925,8.0439775 5.0764382,8.5595639"
|
49
|
+
id="path1381-3" />
|
50
|
+
<path
|
51
|
+
style="fill:#ffffff;stroke:#000000;stroke-width:0.4;stroke-linejoin:round"
|
52
|
+
d="M 5.5291259,7.0902652 6.0324716,7.6058516"
|
53
|
+
id="path1381-6" />
|
54
|
+
<path
|
55
|
+
style="fill:#ffffff;stroke:#000000;stroke-width:0.4;stroke-linejoin:round"
|
56
|
+
d="M 6.5287393,6.2125496 7.032085,6.728136"
|
57
|
+
id="path1381-7" />
|
58
|
+
<path
|
59
|
+
style="fill:#ffffff;stroke:#000000;stroke-width:0.4;stroke-linejoin:round"
|
60
|
+
d="M 7.4875733,5.2270671 7.990919,5.7426535"
|
61
|
+
id="path1381-5" />
|
62
|
+
<path
|
63
|
+
style="fill:#ffffff;stroke:#000000;stroke-width:0.4;stroke-linejoin:round"
|
64
|
+
d="M 8.3428853,4.4034115 8.846231,4.9189979"
|
65
|
+
id="path1381-35" />
|
66
|
+
<path
|
67
|
+
style="fill:#ffffff;stroke:#000000;stroke-width:0.4;stroke-linejoin:round"
|
68
|
+
d="M 7.3583237,9.2113359 9.4546511,9.2107622 9.4437729,6.976487 Z"
|
69
|
+
id="path1283"
|
70
|
+
sodipodi:nodetypes="cccc" />
|
71
|
+
<path
|
72
|
+
style="fill:#ffffff;stroke:#000000;stroke-width:0.4;stroke-linejoin:round"
|
73
|
+
d="M 3.5387896,9.0166385 4.0421353,9.5322249"
|
74
|
+
id="path1381" />
|
75
|
+
<path
|
76
|
+
style="fill:#ffffff;stroke:#000000;stroke-width:0.4;stroke-linejoin:round"
|
77
|
+
d="m 9.1315815,3.5812101 0.503346,0.5155864"
|
78
|
+
id="path1381-62" />
|
79
|
+
</g>
|
80
|
+
</svg>
|
tomwer/version.py
CHANGED