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.
Files changed (29) hide show
  1. {diffct-1.2.5 → diffct-1.2.6}/PKG-INFO +1 -1
  2. {diffct-1.2.5 → diffct-1.2.6}/diffct/differentiable.py +12 -0
  3. {diffct-1.2.5 → diffct-1.2.6}/pyproject.toml +1 -1
  4. {diffct-1.2.5 → diffct-1.2.6}/.github/workflows/docs.yml +0 -0
  5. {diffct-1.2.5 → diffct-1.2.6}/.github/workflows/release.yml +0 -0
  6. {diffct-1.2.5 → diffct-1.2.6}/.gitignore +0 -0
  7. {diffct-1.2.5 → diffct-1.2.6}/LICENSE +0 -0
  8. {diffct-1.2.5 → diffct-1.2.6}/README.md +0 -0
  9. {diffct-1.2.5 → diffct-1.2.6}/diffct/__init__.py +0 -0
  10. {diffct-1.2.5 → diffct-1.2.6}/docs/Makefile +0 -0
  11. {diffct-1.2.5 → diffct-1.2.6}/docs/source/_static/.gitkeep +0 -0
  12. {diffct-1.2.5 → diffct-1.2.6}/docs/source/api.rst +0 -0
  13. {diffct-1.2.5 → diffct-1.2.6}/docs/source/conf.py +0 -0
  14. {diffct-1.2.5 → diffct-1.2.6}/docs/source/examples.rst +0 -0
  15. {diffct-1.2.5 → diffct-1.2.6}/docs/source/fbp_fan_example.rst +0 -0
  16. {diffct-1.2.5 → diffct-1.2.6}/docs/source/fbp_parallel_example.rst +0 -0
  17. {diffct-1.2.5 → diffct-1.2.6}/docs/source/fdk_cone_example.rst +0 -0
  18. {diffct-1.2.5 → diffct-1.2.6}/docs/source/getting_started.rst +0 -0
  19. {diffct-1.2.5 → diffct-1.2.6}/docs/source/index.rst +0 -0
  20. {diffct-1.2.5 → diffct-1.2.6}/docs/source/iterative_reco_cone_example.rst +0 -0
  21. {diffct-1.2.5 → diffct-1.2.6}/docs/source/iterative_reco_fan_example.rst +0 -0
  22. {diffct-1.2.5 → diffct-1.2.6}/docs/source/iterative_reco_parallel_example.rst +0 -0
  23. {diffct-1.2.5 → diffct-1.2.6}/examples/fbp_fan.py +0 -0
  24. {diffct-1.2.5 → diffct-1.2.6}/examples/fbp_parallel.py +0 -0
  25. {diffct-1.2.5 → diffct-1.2.6}/examples/fdk_cone.py +0 -0
  26. {diffct-1.2.5 → diffct-1.2.6}/examples/iterative_reco_cone.py +0 -0
  27. {diffct-1.2.5 → diffct-1.2.6}/examples/iterative_reco_fan.py +0 -0
  28. {diffct-1.2.5 → diffct-1.2.6}/examples/iterative_reco_parallel.py +0 -0
  29. {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.5
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.5"
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