aprict 0.0.24__tar.gz → 0.0.24.dev1__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.
- {aprict-0.0.24/src/aprict.egg-info → aprict-0.0.24.dev1}/PKG-INFO +5 -1
- {aprict-0.0.24 → aprict-0.0.24.dev1}/README.md +4 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/lib/ne_tools.py +4 -1
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/scripts/recon_cbfp_cyl_fbp.py +4 -2
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/scripts/recon_cbfp_cyl_gbc.py +8 -3
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/scripts/recon_cbfp_landweber.py +1 -1
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/version.py +1 -1
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/volume.py +4 -2
- {aprict-0.0.24 → aprict-0.0.24.dev1/src/aprict.egg-info}/PKG-INFO +5 -1
- {aprict-0.0.24 → aprict-0.0.24.dev1}/LICENSE.txt +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/LICENSE_GPLv3.txt +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/MANIFEST.in +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/pyproject.toml +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/setup.cfg +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/setup.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/__init__.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cb/__init__.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cb/_unused_old_fbp.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cb/flatpanel.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cb/noop_filter.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cb/ramp_filter.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cb/ramp_filter_cpu.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cuda/__init__.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cuda/_generate_cusrc.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cuda/dtype_cacher.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cuda/header_injection.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cuda/kern_structs.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cuda/ptx_cacher.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cuda/structs/FORBILD_volumes.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cuda/structs/__init__.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cuda/structs/base.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cuda/structs/config_cb_backproject.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cuda/structs/config_cb_project.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cuda/structs/config_cb_project_FORBILD.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cuda/structs/cu/FORBILD_Box.cu +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cuda/structs/cu/FORBILD_ClipAxisSpec.cu +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cuda/structs/cu/FORBILD_Cone.cu +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cuda/structs/cu/FORBILD_Cone_x.cu +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cuda/structs/cu/FORBILD_Cone_y.cu +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cuda/structs/cu/FORBILD_Cone_z.cu +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cuda/structs/cu/FORBILD_Cylinder.cu +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cuda/structs/cu/FORBILD_Cylinder_x.cu +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cuda/structs/cu/FORBILD_Cylinder_y.cu +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cuda/structs/cu/FORBILD_Cylinder_z.cu +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cuda/structs/cu/FORBILD_Ellipsoid.cu +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cuda/structs/cu/FORBILD_Ellipsoid_free.cu +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cuda/structs/cu/FORBILD_Ellipt_Cyl.cu +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cuda/structs/cu/FORBILD_Ellipt_Cyl_x.cu +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cuda/structs/cu/FORBILD_Ellipt_Cyl_y.cu +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cuda/structs/cu/FORBILD_Ellipt_Cyl_z.cu +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cuda/structs/cu/FORBILD_Shape.cu +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cuda/structs/cu/FORBILD_Sphere.cu +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cuda/structs/cu/__init__.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cuda/structs/geometry.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cuda/structs/test_subdir/__init__.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/cuda/structs/test_subdir/test_config.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/.gitignore +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/FORBILD/abdomen/AbdomenPhantom.pha +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/FORBILD/abdomen/AbdomenPhantom_fixed.pha +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/FORBILD/abdomen/TableOfTissues +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/FORBILD/abdomen/Wirbel.pha +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/FORBILD/custom_composite/Ribs.pha +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/FORBILD/custom_composite/Shoulders.pha +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/FORBILD/custom_composite/TableOfTissues +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/FORBILD/custom_composite/Vertebra.pha +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/FORBILD/custom_composite/part_01_hip.pha +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/FORBILD/custom_composite/part_02_abdomen.pha +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/FORBILD/custom_composite/part_03_thorax.pha +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/FORBILD/custom_composite/part_04_head.pha +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/FORBILD/custom_composite/part_05_jaw.pha +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/FORBILD/custom_other/rock_canister_01.pha +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/FORBILD/custom_other/rock_canister_01_cavities_1e5.pha +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/FORBILD/custom_other/unit_Cyl_z.pha +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/FORBILD/head/HeadPhantom.pha +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/FORBILD/head/TableOfTissues +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/FORBILD/hip/HipPhantom.pha +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/FORBILD/jaw/JawPhantom.pha +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/FORBILD/lungs/LungPhantom3Generations.pha +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/FORBILD/thorax/Ribs.pha +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/FORBILD/thorax/Shoulders.pha +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/FORBILD/thorax/TableOfTissues +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/FORBILD/thorax/ThoraxPhantom.pha +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/FORBILD/thorax/Vertebra.pha +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/README.txt +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/cusrc/CB_backproject.cu +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/cusrc/CB_backproject_sharedmem.cu +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/cusrc/CB_project_sharedmem.cu +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/cusrc/CB_project_texture_chunked.cu +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/cusrc/FORBILD_volumes.h +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/cusrc/base.h +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/cusrc/config_cb_backproject.h +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/cusrc/config_cb_project.h +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/cusrc/config_cb_project_FORBILD.h +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/cusrc/geometry.h +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/cusrc/get_bboxes_FORBILD.cu +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/cusrc/ramlak_convolve.cu +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/cusrc/sample_FORBILD_volumes.cu +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/cusrc/test_kernel.cu +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/cusrc/test_subdir/test_config.h +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/cusrc/texture_operations.cu +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/examples/composite_human_sirt.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/examples/fan_beam_sirt.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/examples/helical_sirt.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/examples/lungs_sirt.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/examples/trajtest_A_sirt.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/examples/triangle_exp_fb.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/gbc/__init__.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/gbc/filters.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/gbc/weightinteg.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/image_view.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/iterators/__init__.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/iterators/landweber_vram.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/iterators/sirt_vram.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/lib/__init__.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/lib/argparse_tools.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/lib/bboxes_FORBILD.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/lib/click_tools.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/lib/empty_context_manager.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/lib/gpu_tools.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/lib/import_tools.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/lib/lds.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/lib/ng_tools.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/lib/np_tools.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/lib/process_pha_file.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/lib/sample_FORBILD.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/lib/texture_tools/__init__.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/lib/texture_tools/operations.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/lib/texture_tools/texture.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/liveplot.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/logtools/__init__.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/logtools/config.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/logtools/pbar.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/logtools/pbar_tqdm.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/logtools/rich_custombar.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/phantoms/FORBILD_phantoms.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/phantoms/__init__.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/ramp_kernels.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/scripts/cli.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/scripts/make_geometry_cone_cyl.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/scripts/make_geometry_fan_circ.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/scripts/neuroglance.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/scripts/project_cbfp.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/tests/__init__.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/tests/cuda_kernels/__init__.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/tests/cuda_kernels/test_backproject_cb.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/tests/cuda_kernels/test_cusrc/__init__.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/tests/cuda_kernels/test_kernel_structs.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/tests/cuda_kernels/test_project_cb.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/tests/cuda_kernels/test_project_cb_FORBILD_phantoms.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/tests/cuda_kernels/test_project_cb_FORBILD_shapes.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/tests/test_FORBILD_lungs_construction.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/tests/test_volume.py +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict.egg-info/SOURCES.txt +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict.egg-info/dependency_links.txt +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict.egg-info/entry_points.txt +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict.egg-info/requires.txt +0 -0
- {aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: aprict
|
|
3
|
-
Version: 0.0.24
|
|
3
|
+
Version: 0.0.24.dev1
|
|
4
4
|
Summary: Tools to simulate and reconstruct XCT transmission data.
|
|
5
5
|
Author: Murdock Grewar
|
|
6
6
|
Author-email: Murdock Grewar <murdock.grewar@anu.edu.au>
|
|
@@ -36,6 +36,10 @@ Requires-Dist: neuroglancer>=2.41.0; extra == "gui"
|
|
|
36
36
|
Dynamic: author
|
|
37
37
|
Dynamic: license-file
|
|
38
38
|
|
|
39
|
+
[](https://orcid.org/0000-0002-0015-8284)
|
|
40
|
+
[](https://doi.org/10.5281/zenodo.23632625)
|
|
41
|
+

|
|
42
|
+
[](https://www.repostatus.org/#wip)
|
|
39
43
|
<details open><summary><h1>About</h1></summary>
|
|
40
44
|
|
|
41
45
|
Description
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
[](https://orcid.org/0000-0002-0015-8284)
|
|
2
|
+
[](https://doi.org/10.5281/zenodo.23632625)
|
|
3
|
+

|
|
4
|
+
[](https://www.repostatus.org/#wip)
|
|
1
5
|
<details open><summary><h1>About</h1></summary>
|
|
2
6
|
|
|
3
7
|
Description
|
|
@@ -162,12 +162,15 @@ def downbin( # ruff: ignore[complex-structure]
|
|
|
162
162
|
return xnew
|
|
163
163
|
|
|
164
164
|
|
|
165
|
-
def save(path: pathlib.Path, arr: np.ndarray) -> None:
|
|
165
|
+
def save(path: pathlib.Path, arr: np.ndarray, flush: bool = True) -> None:
|
|
166
166
|
"""Save an array to a path in a faster manner than np.save."""
|
|
167
167
|
mm: np.memmap = np.lib.format.open_memmap(
|
|
168
168
|
path, shape=arr.shape, dtype=arr.dtype, mode="w+"
|
|
169
169
|
)
|
|
170
170
|
ne.evaluate("x", out=mm, local_dict={"x": arr})
|
|
171
|
+
if flush:
|
|
172
|
+
# Write changes to disk now.
|
|
173
|
+
mm.flush()
|
|
171
174
|
|
|
172
175
|
|
|
173
176
|
class NETHREADS(enum.Enum):
|
|
@@ -872,7 +872,7 @@ def main_from_args(args: types.SimpleNamespace) -> None: # ruff: ignore[complex
|
|
|
872
872
|
if logger is not None:
|
|
873
873
|
msg = f"Saving full volume to '{savepath}'..."
|
|
874
874
|
logger.debug(msg)
|
|
875
|
-
lib.ne_tools.save(savepath, x)
|
|
875
|
+
lib.ne_tools.save(savepath, x, flush=True)
|
|
876
876
|
if logger is not None:
|
|
877
877
|
msg = "Full volume now saved to disk."
|
|
878
878
|
logger.debug(msg)
|
|
@@ -1139,7 +1139,9 @@ def main_from_args(args: types.SimpleNamespace) -> None: # ruff: ignore[complex
|
|
|
1139
1139
|
logger.debug(msg)
|
|
1140
1140
|
if vol is not None:
|
|
1141
1141
|
# Not efficient. Can't copy from CUDAArray directly to the chunk because it's not C-contiguous.
|
|
1142
|
-
vol.as_numpy(
|
|
1142
|
+
vol.as_numpy(
|
|
1143
|
+
out=vol_np[..., sl_vol], allow_indirect_copy=True
|
|
1144
|
+
)
|
|
1143
1145
|
del vol
|
|
1144
1146
|
lib.gpu_tools.clear_cache()
|
|
1145
1147
|
else:
|
|
@@ -946,7 +946,11 @@ def main_from_args(args: types.SimpleNamespace) -> None: # ruff: ignore[complex
|
|
|
946
946
|
|
|
947
947
|
# Convert the progress display ta more intuitive set of units using the progratio.
|
|
948
948
|
# The displayed progress will correspond to bytes in the padded backprojection.
|
|
949
|
-
progratio: float = (
|
|
949
|
+
progratio: float = (
|
|
950
|
+
math.prod(padded_volshape)
|
|
951
|
+
* np.dtype(vol_dtype).itemsize
|
|
952
|
+
/ bytes_cumsum[-1]
|
|
953
|
+
)
|
|
950
954
|
curr_slice: slice | None = None
|
|
951
955
|
logger.info("Beginning reconstruction...")
|
|
952
956
|
with logtools.ProgressBar(
|
|
@@ -1066,7 +1070,8 @@ def main_from_args(args: types.SimpleNamespace) -> None: # ruff: ignore[complex
|
|
|
1066
1070
|
prog_evs_bytes.append(
|
|
1067
1071
|
(
|
|
1068
1072
|
ev,
|
|
1069
|
-
progratio
|
|
1073
|
+
progratio
|
|
1074
|
+
* (
|
|
1070
1075
|
(
|
|
1071
1076
|
(sl.stop - sl.start)
|
|
1072
1077
|
/ tot_num_nonskipped_projs
|
|
@@ -1292,7 +1297,7 @@ def main_from_args(args: types.SimpleNamespace) -> None: # ruff: ignore[complex
|
|
|
1292
1297
|
x = vol_filtered
|
|
1293
1298
|
# Save the volume as a .npy file
|
|
1294
1299
|
tomo_path = path_output.joinpath("recon.npy")
|
|
1295
|
-
lib.ne_tools.save(tomo_path, x)
|
|
1300
|
+
lib.ne_tools.save(tomo_path, x, flush=True)
|
|
1296
1301
|
msg = "Full volume now saved to disk."
|
|
1297
1302
|
logger.debug(msg)
|
|
1298
1303
|
# Now get rid of the temporary files, if applicable
|
|
@@ -521,7 +521,7 @@ def main() -> None:
|
|
|
521
521
|
save_path.joinpath("tomograms") if is_intermediate else save_path
|
|
522
522
|
)
|
|
523
523
|
tomo_path.mkdir(exist_ok=True)
|
|
524
|
-
lib.ne_tools.save(tomo_path.joinpath(id_str + ".npy"), x)
|
|
524
|
+
lib.ne_tools.save(tomo_path.joinpath(id_str + ".npy"), x, flush=True)
|
|
525
525
|
|
|
526
526
|
# Save midslices from volume as .png files
|
|
527
527
|
# The method used here can be a bit slow, because I get a full numpy array and process that.
|
|
@@ -16,4 +16,4 @@
|
|
|
16
16
|
# This file is read from by 'setup.py', from '__init__.py', and also by a git hook which increments the dev number each time a commit is made on the 'dev' branch. There should only be one line in the file which begins with "version".
|
|
17
17
|
"""File which stores the current version number of this module."""
|
|
18
18
|
|
|
19
|
-
version = "0.0.24"
|
|
19
|
+
version = "0.0.24.dev1"
|
|
@@ -193,7 +193,9 @@ class Volume[
|
|
|
193
193
|
self._texture, vol._texture, tout=self._texture, eps=eps
|
|
194
194
|
)
|
|
195
195
|
|
|
196
|
-
def as_numpy(
|
|
196
|
+
def as_numpy(
|
|
197
|
+
self, out: np.ndarray | None = None, allow_indirect_copy: bool = False
|
|
198
|
+
) -> np.ndarray:
|
|
197
199
|
"""Copy this volume's data into a numpy array."""
|
|
198
200
|
# Note: the option 'allow_indirect_copy' allows a fast-but-not-fastest copy when the output array is not C-contiguous.
|
|
199
201
|
if out is not None and not out.flags["C_CONTIGUOUS"]:
|
|
@@ -220,7 +222,7 @@ class Volume[
|
|
|
220
222
|
def save(self, path: pathlib.Path) -> None:
|
|
221
223
|
"""Save this volume into a numpy array on disk."""
|
|
222
224
|
x = self.as_numpy()
|
|
223
|
-
ne_tools.save(path, x)
|
|
225
|
+
ne_tools.save(path, x, flush=True)
|
|
224
226
|
|
|
225
227
|
def as_cupy(self, out: cp.ndarray | None = None) -> cp.ndarray:
|
|
226
228
|
"""Copy this volume's data into a cupy array."""
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: aprict
|
|
3
|
-
Version: 0.0.24
|
|
3
|
+
Version: 0.0.24.dev1
|
|
4
4
|
Summary: Tools to simulate and reconstruct XCT transmission data.
|
|
5
5
|
Author: Murdock Grewar
|
|
6
6
|
Author-email: Murdock Grewar <murdock.grewar@anu.edu.au>
|
|
@@ -36,6 +36,10 @@ Requires-Dist: neuroglancer>=2.41.0; extra == "gui"
|
|
|
36
36
|
Dynamic: author
|
|
37
37
|
Dynamic: license-file
|
|
38
38
|
|
|
39
|
+
[](https://orcid.org/0000-0002-0015-8284)
|
|
40
|
+
[](https://doi.org/10.5281/zenodo.23632625)
|
|
41
|
+

|
|
42
|
+
[](https://www.repostatus.org/#wip)
|
|
39
43
|
<details open><summary><h1>About</h1></summary>
|
|
40
44
|
|
|
41
45
|
Description
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/FORBILD/abdomen/AbdomenPhantom_fixed.pha
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/FORBILD/custom_composite/TableOfTissues
RENAMED
|
File without changes
|
|
File without changes
|
{aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/FORBILD/custom_composite/part_01_hip.pha
RENAMED
|
File without changes
|
{aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/FORBILD/custom_composite/part_02_abdomen.pha
RENAMED
|
File without changes
|
{aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/FORBILD/custom_composite/part_03_thorax.pha
RENAMED
|
File without changes
|
{aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/FORBILD/custom_composite/part_04_head.pha
RENAMED
|
File without changes
|
{aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/FORBILD/custom_composite/part_05_jaw.pha
RENAMED
|
File without changes
|
{aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/FORBILD/custom_other/rock_canister_01.pha
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/data/FORBILD/lungs/LungPhantom3Generations.pha
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aprict-0.0.24 → aprict-0.0.24.dev1}/src/aprict/tests/cuda_kernels/test_project_cb_FORBILD_shapes.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|