diffct 1.2.5__tar.gz → 1.2.6__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.
- {diffct-1.2.5 → diffct-1.2.6}/PKG-INFO +1 -1
- {diffct-1.2.5 → diffct-1.2.6}/diffct/differentiable.py +12 -0
- {diffct-1.2.5 → diffct-1.2.6}/pyproject.toml +1 -1
- {diffct-1.2.5 → diffct-1.2.6}/.github/workflows/docs.yml +0 -0
- {diffct-1.2.5 → diffct-1.2.6}/.github/workflows/release.yml +0 -0
- {diffct-1.2.5 → diffct-1.2.6}/.gitignore +0 -0
- {diffct-1.2.5 → diffct-1.2.6}/LICENSE +0 -0
- {diffct-1.2.5 → diffct-1.2.6}/README.md +0 -0
- {diffct-1.2.5 → diffct-1.2.6}/diffct/__init__.py +0 -0
- {diffct-1.2.5 → diffct-1.2.6}/docs/Makefile +0 -0
- {diffct-1.2.5 → diffct-1.2.6}/docs/source/_static/.gitkeep +0 -0
- {diffct-1.2.5 → diffct-1.2.6}/docs/source/api.rst +0 -0
- {diffct-1.2.5 → diffct-1.2.6}/docs/source/conf.py +0 -0
- {diffct-1.2.5 → diffct-1.2.6}/docs/source/examples.rst +0 -0
- {diffct-1.2.5 → diffct-1.2.6}/docs/source/fbp_fan_example.rst +0 -0
- {diffct-1.2.5 → diffct-1.2.6}/docs/source/fbp_parallel_example.rst +0 -0
- {diffct-1.2.5 → diffct-1.2.6}/docs/source/fdk_cone_example.rst +0 -0
- {diffct-1.2.5 → diffct-1.2.6}/docs/source/getting_started.rst +0 -0
- {diffct-1.2.5 → diffct-1.2.6}/docs/source/index.rst +0 -0
- {diffct-1.2.5 → diffct-1.2.6}/docs/source/iterative_reco_cone_example.rst +0 -0
- {diffct-1.2.5 → diffct-1.2.6}/docs/source/iterative_reco_fan_example.rst +0 -0
- {diffct-1.2.5 → diffct-1.2.6}/docs/source/iterative_reco_parallel_example.rst +0 -0
- {diffct-1.2.5 → diffct-1.2.6}/examples/fbp_fan.py +0 -0
- {diffct-1.2.5 → diffct-1.2.6}/examples/fbp_parallel.py +0 -0
- {diffct-1.2.5 → diffct-1.2.6}/examples/fdk_cone.py +0 -0
- {diffct-1.2.5 → diffct-1.2.6}/examples/iterative_reco_cone.py +0 -0
- {diffct-1.2.5 → diffct-1.2.6}/examples/iterative_reco_fan.py +0 -0
- {diffct-1.2.5 → diffct-1.2.6}/examples/iterative_reco_parallel.py +0 -0
- {diffct-1.2.5 → diffct-1.2.6}/requirements.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: diffct
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.6
|
|
4
4
|
Summary: A CUDA-based library for computed tomography (CT) projection and reconstruction with differentiable operators
|
|
5
5
|
Project-URL: Homepage, https://github.com/sypsyp97/diffct
|
|
6
6
|
Author-email: Yipeng Sun <yipeng.sun@fau.de>
|
|
@@ -1398,6 +1398,7 @@ class ParallelProjectorFunction(torch.autograd.Function):
|
|
|
1398
1398
|
d_image, Nx, Ny, d_sino, n_angles, num_detectors,
|
|
1399
1399
|
_DTYPE(detector_spacing), d_cos_arr, d_sin_arr, cx, cy, _DTYPE(voxel_spacing)
|
|
1400
1400
|
)
|
|
1401
|
+
torch.cuda.synchronize()
|
|
1401
1402
|
|
|
1402
1403
|
ctx.save_for_backward(angles)
|
|
1403
1404
|
ctx.intermediate = (num_detectors, detector_spacing, Ny, Nx, voxel_spacing)
|
|
@@ -1431,6 +1432,7 @@ class ParallelProjectorFunction(torch.autograd.Function):
|
|
|
1431
1432
|
d_img_grad, Nx, Ny,
|
|
1432
1433
|
_DTYPE(detector_spacing), d_cos_arr, d_sin_arr, cx, cy, _DTYPE(voxel_spacing)
|
|
1433
1434
|
)
|
|
1435
|
+
torch.cuda.synchronize()
|
|
1434
1436
|
|
|
1435
1437
|
return grad_image, None, None, None, None
|
|
1436
1438
|
|
|
@@ -1531,6 +1533,7 @@ class ParallelBackprojectorFunction(torch.autograd.Function):
|
|
|
1531
1533
|
d_sino, n_ang, n_det, d_reco, Nx, Ny,
|
|
1532
1534
|
_DTYPE(detector_spacing), d_cos_arr, d_sin_arr, cx, cy, _DTYPE(voxel_spacing)
|
|
1533
1535
|
)
|
|
1536
|
+
torch.cuda.synchronize()
|
|
1534
1537
|
|
|
1535
1538
|
ctx.save_for_backward(angles)
|
|
1536
1539
|
ctx.intermediate = (H, W, detector_spacing, sinogram.shape[0], sinogram.shape[1], voxel_spacing)
|
|
@@ -1568,6 +1571,7 @@ class ParallelBackprojectorFunction(torch.autograd.Function):
|
|
|
1568
1571
|
d_grad_out, Nx, Ny, d_sino_grad, n_ang, n_det,
|
|
1569
1572
|
_DTYPE(detector_spacing), d_cos, d_sin, cx, cy, _DTYPE(voxel_spacing)
|
|
1570
1573
|
)
|
|
1574
|
+
torch.cuda.synchronize()
|
|
1571
1575
|
|
|
1572
1576
|
return grad_sino, None, None, None, None, None
|
|
1573
1577
|
|
|
@@ -1669,6 +1673,7 @@ class FanProjectorFunction(torch.autograd.Function):
|
|
|
1669
1673
|
_DTYPE(detector_spacing), d_cos_arr, d_sin_arr,
|
|
1670
1674
|
_DTYPE(sdd), _DTYPE(sid), cx, cy, _DTYPE(voxel_spacing)
|
|
1671
1675
|
)
|
|
1676
|
+
torch.cuda.synchronize()
|
|
1672
1677
|
|
|
1673
1678
|
ctx.save_for_backward(angles)
|
|
1674
1679
|
ctx.intermediate = (num_detectors, detector_spacing, Ny, Nx,
|
|
@@ -1703,6 +1708,7 @@ class FanProjectorFunction(torch.autograd.Function):
|
|
|
1703
1708
|
_DTYPE(det_spacing), d_cos_arr, d_sin_arr,
|
|
1704
1709
|
_DTYPE(sdd), _DTYPE(sid), cx, cy, _DTYPE(voxel_spacing)
|
|
1705
1710
|
)
|
|
1711
|
+
torch.cuda.synchronize()
|
|
1706
1712
|
|
|
1707
1713
|
return grad_img, None, None, None, None, None, None
|
|
1708
1714
|
|
|
@@ -1807,6 +1813,7 @@ class FanBackprojectorFunction(torch.autograd.Function):
|
|
|
1807
1813
|
_DTYPE(detector_spacing), d_cos_arr, d_sin_arr,
|
|
1808
1814
|
_DTYPE(sdd), _DTYPE(sid), cx, cy, _DTYPE(voxel_spacing)
|
|
1809
1815
|
)
|
|
1816
|
+
torch.cuda.synchronize()
|
|
1810
1817
|
|
|
1811
1818
|
ctx.save_for_backward(angles)
|
|
1812
1819
|
ctx.intermediate = (H, W, detector_spacing, n_ang, n_det, sdd, sid, voxel_spacing)
|
|
@@ -1841,6 +1848,7 @@ class FanBackprojectorFunction(torch.autograd.Function):
|
|
|
1841
1848
|
_DTYPE(det_spacing), d_cos_arr, d_sin_arr,
|
|
1842
1849
|
_DTYPE(sdd), _DTYPE(sid), cx, cy, _DTYPE(voxel_spacing)
|
|
1843
1850
|
)
|
|
1851
|
+
torch.cuda.synchronize()
|
|
1844
1852
|
|
|
1845
1853
|
return grad_sino, None, None, None, None, None, None, None
|
|
1846
1854
|
|
|
@@ -1951,6 +1959,7 @@ class ConeProjectorFunction(torch.autograd.Function):
|
|
|
1951
1959
|
_DTYPE(sdd), _DTYPE(sid),
|
|
1952
1960
|
cx, cy, cz, _DTYPE(voxel_spacing)
|
|
1953
1961
|
)
|
|
1962
|
+
torch.cuda.synchronize()
|
|
1954
1963
|
|
|
1955
1964
|
ctx.save_for_backward(angles)
|
|
1956
1965
|
ctx.intermediate = (D, H, W, det_u, det_v, du, dv,
|
|
@@ -1987,6 +1996,7 @@ class ConeProjectorFunction(torch.autograd.Function):
|
|
|
1987
1996
|
_DTYPE(du), _DTYPE(dv), d_cos_arr, d_sin_arr,
|
|
1988
1997
|
_DTYPE(sdd), _DTYPE(sid), cx, cy, cz, _DTYPE(voxel_spacing)
|
|
1989
1998
|
)
|
|
1999
|
+
torch.cuda.synchronize()
|
|
1990
2000
|
|
|
1991
2001
|
grad_vol = grad_vol_perm.permute(2, 1, 0).contiguous()
|
|
1992
2002
|
return grad_vol, None, None, None, None, None, None, None, None
|
|
@@ -2106,6 +2116,7 @@ class ConeBackprojectorFunction(torch.autograd.Function):
|
|
|
2106
2116
|
_DTYPE(du), _DTYPE(dv), d_cos_arr, d_sin_arr,
|
|
2107
2117
|
_DTYPE(sdd), _DTYPE(sid), cx, cy, cz, _DTYPE(voxel_spacing)
|
|
2108
2118
|
)
|
|
2119
|
+
torch.cuda.synchronize()
|
|
2109
2120
|
|
|
2110
2121
|
ctx.save_for_backward(angles)
|
|
2111
2122
|
ctx.intermediate = (D, H, W, n_u, n_v, du, dv,
|
|
@@ -2144,5 +2155,6 @@ class ConeBackprojectorFunction(torch.autograd.Function):
|
|
|
2144
2155
|
_DTYPE(du), _DTYPE(dv), d_cos_arr, d_sin_arr,
|
|
2145
2156
|
_DTYPE(sdd), _DTYPE(sid), cx, cy, cz, _DTYPE(voxel_spacing)
|
|
2146
2157
|
)
|
|
2158
|
+
torch.cuda.synchronize()
|
|
2147
2159
|
|
|
2148
2160
|
return grad_sino, None, None, None, None, None, None, None, None, None
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "diffct"
|
|
7
|
-
version = "1.2.
|
|
7
|
+
version = "1.2.6"
|
|
8
8
|
description = "A CUDA-based library for computed tomography (CT) projection and reconstruction with differentiable operators"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
authors = [
|
|
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
|