Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
555 commits
Select commit Hold shift + click to select a range
3353569
Merge branch 'pytorch_backend' into python_array_api_support
Emvlt Aug 1, 2025
7124947
Removing the np.sctypes call.
Emvlt Aug 5, 2025
55a281f
Important bug fix for the in-place __dunder__ operations.
Emvlt Aug 5, 2025
82af750
Changing the default copy behaviour of space.element() to None instea…
Emvlt Aug 5, 2025
33740f7
Doctest and Test package for the currently implemented functions of t…
Emvlt Aug 6, 2025
c978a2e
Addition of an array-API compatible can_cast method
Emvlt Aug 6, 2025
a6f3e7a
Changes to the operator test to make itarray-API compatible.
Emvlt Aug 6, 2025
709c49b
Minor change to the doctests
Emvlt Aug 7, 2025
3403828
Make Astra-Cuda independent of PyTorch dependency.
leftaroundabout Aug 6, 2025
2c46fc2
Ongoing work to make sure that the module is not loaded if pytorch is…
Emvlt Aug 7, 2025
28843e2
Make the pytorch_tensors module handle non-availability of Torch.
leftaroundabout Aug 7, 2025
a3fff16
Make `_convert_dtype` more flexible and efficient.
leftaroundabout Aug 14, 2025
18f9241
Improve naming and documentation for `_convert_dtype`.
leftaroundabout Aug 14, 2025
6162bec
Delegate the finding of a unique identifier for dtype-ish arguments t…
leftaroundabout Aug 14, 2025
6fb66f6
Get rid of the redundand `int` vs `int32` etc. dtype identifiers.
leftaroundabout Aug 14, 2025
44d9ef4
Improve documentation to array-API utils.
leftaroundabout Aug 14, 2025
15922ff
Remove the redundant and in general misformatted `dtype` entry from t…
leftaroundabout Aug 14, 2025
f214d7c
Omit dtype/impl/device from space's __repr__ if they are the default …
leftaroundabout Aug 18, 2025
6b78664
Update some doctests that were still using old-style ufunc calls.
leftaroundabout Aug 18, 2025
8134331
Use the ODL version of `abs` iff dealing with ODL objects.
leftaroundabout Aug 18, 2025
fedf169
Use explicit NumPy arrays in the doctests for resizing operations.
leftaroundabout Aug 18, 2025
39c487a
Switch some more old NumPy-based tests over to array-APIish ODL.
leftaroundabout Aug 18, 2025
dce4d5d
Make some matrix-based operator utils work again, at least for NumPy …
leftaroundabout Aug 18, 2025
c3198c4
Update `FlatteningOperator` to ArrayAPI-based ODL.
leftaroundabout Aug 18, 2025
ea6e3ae
Correct the logic of when the weighting of a `DiscretizedSpace` needs…
leftaroundabout Aug 19, 2025
05a1b00
Consistent dtype showing for discr_space `__repr__`.
leftaroundabout Aug 19, 2025
2923650
Address a spurious test failure due to negative zeroes.
leftaroundabout Aug 19, 2025
a2dbc07
Use the zero-safe xlogy operation (from SciPy) for KL-divergence.
leftaroundabout Aug 19, 2025
6f321ca
Revamp the way `MatrixOperator` decides its storage / computation bac…
leftaroundabout Aug 20, 2025
5ed5499
Make the `_call` of `MatrixOperator` exclusively out-of-place.
leftaroundabout Aug 21, 2025
09c68e3
Generalize `check_device` to accept not only plain string identifiers…
leftaroundabout Aug 21, 2025
c704c74
Array-API conformant use of `tensordot`.
leftaroundabout Aug 21, 2025
33d0f2a
Make the `repr` of `MatrixOperator` backend-agnostic.
leftaroundabout Aug 21, 2025
7786d18
Clearer error message when something goes wrong with `_universal_dtyp…
leftaroundabout Aug 21, 2025
2bd2ed6
Always check `MatrixOperator` against NumPy, regardless of its backend.
leftaroundabout Aug 21, 2025
fab1a58
Remove redundant doctest that actually shows something different from…
leftaroundabout Aug 22, 2025
a04f46a
Update `PyTorchTensor` doctest.
leftaroundabout Aug 22, 2025
e0bfe5d
Consistent version of the current semantics for `__eq__`.
leftaroundabout Aug 22, 2025
f78cee5
Update `check_device` doctests.
leftaroundabout Aug 25, 2025
25f5fce
Only test PyTorch-Cuda array backend if a suitable GPU is available.
leftaroundabout Aug 25, 2025
cad4d26
Generalize the dtype-dependent epsilon used in proximal operators.
leftaroundabout Aug 25, 2025
b48ceed
Ensure the operator-composition special case only takes action when a…
leftaroundabout Aug 25, 2025
b24700b
Clearer error message when attempting to generate a primitive tensor …
leftaroundabout Aug 25, 2025
5f3be1a
Propose storing what operations are supported in which style in the `…
leftaroundabout Aug 28, 2025
a92ba44
Refactoring in `_elementwise_num_operation` to avoid `local_namespace`.
leftaroundabout Sep 2, 2025
2816567
Using the cache in `ArrayBackend` for looking up functions from the n…
leftaroundabout Sep 2, 2025
aa4ce51
Carry out the function-call-probing with multiple dtypes.
leftaroundabout Sep 2, 2025
c9dab62
Consult the information whether low-level operations support `out` ar…
leftaroundabout Sep 2, 2025
8509070
Changes to the proximal operators:
Emvlt Sep 5, 2025
c751688
Changes to the element_wise_num_operation:
Emvlt Sep 5, 2025
89982d4
Changes to the tomo module
Emvlt Sep 5, 2025
de365f2
Ensure `set_zero` leaves only zeroes, even if NaNs were previously pr…
leftaroundabout Sep 15, 2025
fcdfbf6
Revert changes in 8509070, superseded by de365f2a.
leftaroundabout Sep 15, 2025
60ee6cb
Adjust test to the actually expected dtypes coming from `astype`.
leftaroundabout Sep 17, 2025
8ec13c9
Comment regarding the somewhat confusing dtype defaults.
leftaroundabout Sep 17, 2025
2d04bc1
Remove a backend special casing of type of exception.
leftaroundabout Sep 17, 2025
318d383
Consistent storage of padding constants in the appropriate array back…
leftaroundabout Sep 17, 2025
8778597
Small refactoring in resizing utils.
leftaroundabout Sep 17, 2025
b3d2367
Ensure a suitable dtype is used for `arange` in extrapolation padding…
leftaroundabout Sep 17, 2025
39aa011
Replace a NumPy-specific equality check with the general ODL one.
leftaroundabout Sep 17, 2025
217fb86
Backend-agnostic ways of performing the copying and summing needed fo…
leftaroundabout Sep 17, 2025
446d4ca
Get the symmetric boundaries in discr_ops working in PyTorch.
leftaroundabout Sep 17, 2025
8211266
Addition of a skip condition to tomo test if there is no Pytorch
Emvlt Sep 17, 2025
64066b7
Addition of the pytorch projectors to make sure that they are not run…
Emvlt Sep 17, 2025
9132656
Fixing a bug introduced when casting Python Number to tensors. I forg…
Emvlt Sep 17, 2025
b0ebb39
Fixes to the linspace and empty function: the wrong arguments were pa…
Emvlt Sep 17, 2025
a11bc4a
Minor change to base_tensors to include radd and rsub to Operator alg…
Emvlt Sep 18, 2025
a852aa0
Change to adapt test comparisons to pytorch (np.matmul -> namespace.m…
Emvlt Sep 18, 2025
f871ecc
Change to the MatrixOperator Operator: including the device when the …
Emvlt Sep 18, 2025
3f93b46
Changes to the function of oputils to infer the array namespace, the…
Emvlt Sep 18, 2025
05e5eff
Making the oputils_test array-API compatible
Emvlt Sep 18, 2025
5536050
Change tot the testutils as == does not work the same way in pytorch …
Emvlt Sep 18, 2025
8a28b34
Making the pspace_ops_test module array-API compatible
Emvlt Sep 18, 2025
8afcf5f
Change to the PointWiseNorm operator.
Emvlt Sep 18, 2025
0d7773d
Work on the PointwiseTensorField Operators to make them array-API com…
Emvlt Sep 20, 2025
ad17b6a
A mistake had slipped through a copy paste >:(
Emvlt Sep 20, 2025
2e67787
Ongoing work to make the tensor_ops_test array API compatible
Emvlt Sep 20, 2025
e7f2c45
Modification of the samplingOperator to make it array-API compatible
Emvlt Sep 20, 2025
a232767
Introduction of a sparse package to ODL. So far, it entails:
Emvlt Sep 20, 2025
af90b89
Adaptation of the MAtrixOperator to the new odl support of SparseMatr…
Emvlt Sep 20, 2025
796af17
Making the tensor_ops_test array-API compatible.
Emvlt Sep 22, 2025
2593f07
Makin the tensor_ops module array-API compatible.
Emvlt Sep 22, 2025
5a01213
Adding a skip mark if pytorch is absent (redundant with the one in to…
Emvlt Sep 22, 2025
c6c829b
Only define PyTorch-specific util when available.
leftaroundabout Sep 22, 2025
4039fee
Avoid excessively short/cryptic but public attribute on `MatrixOperat…
leftaroundabout Sep 22, 2025
fb39687
More fitting name for the dataclass separating different kinds of spa…
leftaroundabout Sep 22, 2025
bdaa73d
Ensure every sparse format is uniquely registered.
leftaroundabout Sep 22, 2025
9abd5ff
More descriptive name for the predicate checking a sparse matrix matc…
leftaroundabout Sep 22, 2025
90f2b5a
Use only the automatically populated registry for sparse formats.
leftaroundabout Sep 22, 2025
9f099d6
Refactor the lookup logic for sparse format.
leftaroundabout Sep 22, 2025
f0382bb
Make `lookup_sparse_format` public.
leftaroundabout Sep 22, 2025
0396e4a
Start basing the way sparse matrices are handled on `SparseMatrixForm…
leftaroundabout Sep 22, 2025
8605cf0
Move logic for conversion to dense matrix into `SparseMatrixFormat` c…
leftaroundabout Sep 22, 2025
1c966c2
Abstract also matrix multiplication into `SparseMatrixFormat`.
leftaroundabout Sep 22, 2025
d8fa2bb
Add a backend-method for explicit copying to a different device.
leftaroundabout Sep 23, 2025
39e4a5e
Add device-changing methods to the space and weighting classes.
leftaroundabout Sep 23, 2025
482f01a
Fix forgotten device argument dto the ArrayWeighting creation of asde…
Emvlt Sep 23, 2025
2ee8944
`to_device` is already in the Python Array API, so no need to have it…
leftaroundabout Sep 23, 2025
fbab953
Rename the device-changing method to be in line with the array API.
leftaroundabout Sep 23, 2025
c6f21ef
Changes to the iterative solvers to make them array API compatible.
Emvlt Sep 23, 2025
606b5c2
Changes to the functional tests to make them array-API compatible.
Emvlt Sep 23, 2025
3f44812
Change to the ODL init file.
Emvlt Sep 23, 2025
934fe6f
Chjanges to the scipy compatibility module.
Emvlt Sep 23, 2025
fd91043
Removing unecessary, lazy imports of scipy
Emvlt Sep 23, 2025
3b5f8f2
Changes to the ProximalConvexConjKLCrossEntropy Operator to make it a…
Emvlt Sep 23, 2025
22f01ec
Removal of the operator import .
Emvlt Sep 23, 2025
0affcbc
Removing unecessary, lazy imports of scipy
Emvlt Sep 23, 2025
9bc0141
Merge branch 'python_array_api_support' of https://github.com/Emvlt/o…
Emvlt Sep 23, 2025
803d33d
`to_impl` methods, to convert one tensor space to the corresponding v…
leftaroundabout Sep 23, 2025
446d9b7
Documentation for the `to_impl` and `to_device` methods.
leftaroundabout Sep 24, 2025
f815294
Revert "`to_device` is already in the Python Array API, so no need to…
leftaroundabout Sep 24, 2025
b5725e1
`to_device` for TensorSpace elements.
leftaroundabout Sep 24, 2025
3eced51
Correct outdated documentation type hint.
leftaroundabout Sep 24, 2025
e9a0eef
`to_impl` for tensor space elements.
leftaroundabout Sep 24, 2025
914ae5b
Implement device-changing methods in `DiscretizedSpace`.
leftaroundabout Sep 24, 2025
43a87c3
Draft operator for changing device.
leftaroundabout Sep 24, 2025
58946bc
Sanity checks to ensure consistency of device-changing operator.
leftaroundabout Sep 24, 2025
492795f
Some documentation to `DeviceChangeOperator`.
leftaroundabout Sep 24, 2025
cff1973
Operator that transfers between different backends.
leftaroundabout Sep 24, 2025
45d8259
Attempt at making the sampling functions in discr_utils PyTorch-compa…
leftaroundabout Sep 25, 2025
a1ae8f3
Addition of a is_array_supported method to check whether an array if …
Emvlt Sep 26, 2025
d79fde0
Messy commit: ongoing work to make the point_collocation function wor…
Emvlt Sep 26, 2025
4c516ca
Making the default_functions_test array-API compatible. This one had …
Emvlt Sep 26, 2025
dbf9f58
Merge branch 'python_array_api_support' of github.com:Emvlt/odl into …
Emvlt Sep 26, 2025
d40066c
Ongoing work to make the point_collocation array-API compatible.
Emvlt Sep 26, 2025
2d2bd8a
Reintroduce a check that padding constants can actually be represente…
leftaroundabout Sep 26, 2025
a34860e
Changes to the sampling function code.
Emvlt Sep 29, 2025
afdb7e5
Changes to the discr_utils_test to make it array-API compatible.
Emvlt Sep 29, 2025
cd5044e
Test and discr module cleanup
Emvlt Sep 29, 2025
e8b0165
Minor changes to the ray_trafo_test to make it array-API compatible
Emvlt Sep 29, 2025
aed3576
Making the function of the geometric phantoms array api compatible
Emvlt Sep 29, 2025
c7fcb01
Making the discr ops/space/utils test array-API compatible
Emvlt Sep 29, 2025
c61ce26
Merge branch 'python_array_api_support' of github.com:Emvlt/odl into …
Emvlt Sep 29, 2025
fc72570
Attempt at making gradient operators compatible with PyTorch.
leftaroundabout Apr 12, 2024
f4a71c7
Propose using PyTorch convolution for finite-differences.
leftaroundabout Jun 17, 2024
900212d
Correct axis association of the convolution FDs.
leftaroundabout Jun 17, 2024
7a9c5bd
PyTorch version of finite-difference grad etc..
leftaroundabout Jun 17, 2024
85dbfc6
Consistent use of PyTorch finite_diff also for divergence operator.
leftaroundabout Jun 17, 2024
9c52cbf
Refactor finite-difference kernels.
leftaroundabout Jun 18, 2024
fd68ec0
Use correct Torch device for FD convolutions.
leftaroundabout Jun 18, 2024
d4e5a71
Big commit: Making Interpolator and Finite diff array-API compatible.
Emvlt Sep 30, 2025
43e56ec
Making Module array-API compatible.
Emvlt Oct 1, 2025
02d6363
Two changes to the DFT:
Emvlt Oct 6, 2025
9b27fef
Changing the function to make it array-API compatible.
Emvlt Oct 6, 2025
3d445f1
Modifications to the ft_utils module.
Emvlt Oct 6, 2025
ba98ac1
Changing the numerics_test to adapt the new errors raised by fast_1d_…
Emvlt Oct 6, 2025
a873744
Changes to make the fourier transform array-API compatible.
Emvlt Oct 6, 2025
24fec94
Removed a duplicated impl argument that had slept through
Emvlt Oct 8, 2025
bcb03b5
Rest of the changes necessary to make the trafos_test array-API compa…
Emvlt Oct 8, 2025
1a7ce80
Roll back changes in 43e56ec that switched coordinate-only computatio…
leftaroundabout Oct 8, 2025
8c2b375
Providing the real/complex correspondent dtypes straight as backend-s…
leftaroundabout Oct 8, 2025
73b6f1d
Properly support non-NumPy backends as the displacement of interpolat…
leftaroundabout Oct 8, 2025
b1d856a
change on the vectorization module to make sure that is_valid_inpuit_…
Emvlt Oct 10, 2025
ff3945f
Minor change to the discr test to add a pytorch case distinction
Emvlt Oct 10, 2025
0f08eea
Fixing discrepancy between pytorch and numpy behaviour of nonzero()
Emvlt Oct 10, 2025
5aa2296
Removing string nearest neighbour interpolation test
Emvlt Oct 10, 2025
80fae61
Removing the possibility of doing string nearest neighbour interpolat…
Emvlt Oct 10, 2025
9f40fb2
Fixing a behaviour problem of _find_indices methods of _Interpolator …
Emvlt Oct 10, 2025
7d5b6ce
Changes to make the solvers test compatible with the new API
Emvlt Oct 15, 2025
2703b18
Changes to make the operator test compatible with the new API
Emvlt Oct 15, 2025
edbb253
Change to the noise phantom to make it array-API compatible
Emvlt Oct 15, 2025
b9f8f76
Minor change to the directional_derivative of the Divergence Operator…
Emvlt Oct 15, 2025
bdd19e6
Removing the deprecated nonposx and nonposy arguments of the set_xsca…
Emvlt Oct 15, 2025
f1bbe8b
Change to the proximal_arg_scaling to accomodate for complex scaling …
Emvlt Oct 15, 2025
724f192
Updating the examples so that they run with numpy (backward compatibi…
Emvlt Oct 16, 2025
2978f3b
Minor refactoring of tests
Emvlt Oct 16, 2025
dbd8cf4
Adding an important clause for 3D tomo when doing the in-place transf…
Emvlt Oct 16, 2025
1c878eb
Restructuring ODL hierarchy: Creating directory AND moving array_API…
Emvlt Oct 17, 2025
bd086ec
Make a clear distinction between the two functions called `all_equal`.
leftaroundabout Oct 17, 2025
2ac7a1c
Move the `util` modules into the new `core` directory.
leftaroundabout Oct 17, 2025
f5d4b59
Changing odl.all_equal to all_equal
Emvlt Oct 17, 2025
8144790
Move the `set` modules into the `core` directory.
leftaroundabout Oct 17, 2025
3754437
Move the `space` modules into the `core` directory.
leftaroundabout Oct 17, 2025
b869f0a
Move the `discr` modules into the `core` directory.
leftaroundabout Oct 17, 2025
3efeb14
Move the `sparse` modules into the `core` directory.
leftaroundabout Oct 17, 2025
4f243bb
Move the `operator` modules into the `core` directory.
leftaroundabout Oct 17, 2025
329a13f
Move the `phantom` modules into the `core` directory.
leftaroundabout Oct 17, 2025
1d050be
Move the `diagnostics` modules into the `core` directory.
leftaroundabout Oct 17, 2025
aa6bbbb
Reintroduce a case distinction removed in e7f2c45.
leftaroundabout Oct 17, 2025
46de66d
Moving the deform in the trafos folder and creating dedicated and s…
Emvlt Oct 19, 2025
a664948
Adjusting the test to the new repo organisation
Emvlt Oct 19, 2025
d05a5a0
Updating the file to reflect the trafos change
Emvlt Oct 19, 2025
83a0299
Moving the folder in the folder
Emvlt Oct 19, 2025
e2e89cf
Moving the module out of the solvers
Emvlt Oct 19, 2025
adf4f01
Forgot to ammend the __init__
Emvlt Oct 19, 2025
a062786
Changed the test suite organisation to reflect the new repo's organis…
Emvlt Oct 19, 2025
6abad0c
The largescale tests for nonsmooth solvers called the wrong api, odl.…
Emvlt Oct 19, 2025
f4baa91
Updated the examples
Emvlt Oct 19, 2025
b0e696d
Updating the to in all the documentation
Emvlt Oct 19, 2025
369dce1
Addition of a dtype helper to infer the return type of the when the …
Emvlt Oct 20, 2025
b7f555a
Make the sparse-matrix backends absolute and cycle-free.
leftaroundabout Oct 20, 2025
fb6fadc
Reflect interface change of `sampling_function` in the doctests.
leftaroundabout Oct 20, 2025
b974388
Fixing doctests to abide to the new API
Emvlt Oct 20, 2025
e146e8c
Workaround for duplicate module initialization when running in PyTest.
leftaroundabout Oct 20, 2025
bd47b62
Minor change on the step dtype in the derivatives module.
Emvlt Oct 20, 2025
44a7258
Adding a self. in front of the device variable of the to_impl call
Emvlt Oct 20, 2025
18de1c7
Creation of a folder for ODL. This makes sure that the backend-speci…
Emvlt Oct 20, 2025
05bbb9c
Make the wavelet operators compatible with ODL-1.0s no-implicit-NumPy…
leftaroundabout Oct 20, 2025
75951d8
Allow for NumPy-scalars in arithmetic expressions like odl object + s…
leftaroundabout Oct 20, 2025
08478e7
Correct import in one of the tests.
leftaroundabout Oct 20, 2025
f3dcfc6
Re-enable a test on `DiscrSpace` construction from plain lists.
leftaroundabout Oct 20, 2025
73c99df
Start a new version of the PyTorch-module wrapper for ODL operators.
leftaroundabout Oct 20, 2025
bd721ab
Ongoing rewriting of the torch Operator test
Emvlt Oct 20, 2025
c32e8d1
Make the inner product on product spaces independent of a pre-selecte…
leftaroundabout Oct 20, 2025
09bc00d
Add a forgotten import symbol.
leftaroundabout Oct 20, 2025
f6b7b13
Make equality checks in large-scale test NumPy-independent.
leftaroundabout Oct 20, 2025
5e75af2
Short-cut `element` generation when given something that is already e…
leftaroundabout Oct 20, 2025
04da9ac
Remove an unnecessary check that prevented boolean operations.
leftaroundabout Oct 20, 2025
a05a39e
Bring large-scale default-functionals tests in line with ODL-1.0.
leftaroundabout Oct 20, 2025
f67f99b
Fix in a largescale test, the ASTRA_VERSION constant is now visible u…
Emvlt Oct 21, 2025
8304df7
Undo accidental removal of the PyTorch dependency in 18de1c77d.
leftaroundabout Oct 21, 2025
7b28e2a
Workaround for inconsistent/nonsensical behaviour of `from_dlpack` in…
leftaroundabout Oct 21, 2025
2b4e878
Add a version-specific wrapper for `from_dlpack` for torch-2.7.
leftaroundabout Oct 21, 2025
1e72115
Make an assertion conditional that only makes sense on NumPy.
leftaroundabout Oct 21, 2025
536c926
More simplistic workaround for PyTorch-DLPack inconsistencies.
leftaroundabout Oct 21, 2025
a9be53b
Allow `all_equal` to directly work on pairs of PyTorch tensors.
leftaroundabout Oct 21, 2025
e707c12
Enable different storage backends/devices in slow ray-trafo tests.
leftaroundabout Oct 21, 2025
1e61123
Generalize a dtype case distinction beyond NumPy.
leftaroundabout Oct 21, 2025
cd3202c
Typo in the name of a test.
leftaroundabout Oct 21, 2025
a074314
Further relax type restrictions on `all_almost_equal`.
leftaroundabout Oct 21, 2025
ccc312d
Generalize dtype handling in slow Tensor Space tests.
leftaroundabout Oct 21, 2025
93e9968
Changes to the dlpack array-API support and to the tests.
Emvlt Oct 22, 2025
356e244
Edit of the non_smooth largescale tests.
Emvlt Oct 22, 2025
55d5c0b
Merging from currentHEAD.
Emvlt Oct 22, 2025
b85cbcb
Get the new `OperatorFunction` (torch autograd wrapper) to work in fo…
leftaroundabout Oct 22, 2025
1c5e5db
Setting up the sphinx pipeline
Emvlt Oct 22, 2025
55a43db
Merge branch 'python_array_api_support' of github.com:Emvlt/odl into …
Emvlt Oct 22, 2025
bb11854
Edit on the paths of the docs
Emvlt Oct 22, 2025
ce1856b
Migrating the old documentation
Emvlt Oct 22, 2025
80153d2
Implement batch-looping for the torch operator-wrapper.
leftaroundabout Oct 22, 2025
cacf277
Update the test of Torch operator wrapper towards ODL-1.0.
leftaroundabout Oct 22, 2025
96dbd89
Add different impl/device combinations of ODL operator to the Torch w…
leftaroundabout Oct 22, 2025
f3a1481
Uniform way of naming devices between the PyTorch-module test and the…
leftaroundabout Oct 22, 2025
06a5a5a
Remove the old version of the PyTorch wrapper around ODL operators.
leftaroundabout Oct 22, 2025
34efabb
Attempt at making some ODL core definitions officially part of the `o…
leftaroundabout Oct 22, 2025
14d857b
Some attempt to bring the guide on NumPy-interaction up to date.
leftaroundabout Oct 22, 2025
9fbaf2a
Making the show_discrete_data function array-API compatible by castin…
Emvlt Oct 23, 2025
0792713
Making the filtered back projection array-API compatible
Emvlt Oct 23, 2025
da5e647
Changing the setup.cfg file to include python_array_api
Emvlt Oct 23, 2025
e2bdf49
Updating the contributors and developpers
Emvlt Oct 23, 2025
cfa2689
Attempt at making the documentation automatically build on push
Emvlt Oct 23, 2025
9ea2e82
Avoid misleading error msg about "pytorch not being supported by ODL"…
leftaroundabout Oct 23, 2025
ee476ae
Correct the documentation of `asarray`, reflecting the fact that it o…
leftaroundabout Oct 23, 2025
0d6bb72
More documentation on the ways of converting from&to arrays.
leftaroundabout Oct 23, 2025
ac8f9b5
Update most of the NumPy guide.
leftaroundabout Oct 23, 2025
5957b22
Update the SciPy-solver example in the guide.
leftaroundabout Oct 23, 2025
d9dd6c9
Add Torch to the array-interaction guide.
leftaroundabout Oct 23, 2025
a544072
Rewrite the guide on vectorization for ODL-1.0 / ArrayAPI
leftaroundabout Oct 23, 2025
c8c2c27
Commit on the documentation.
Emvlt Oct 24, 2025
a5331b4
Add migration guide for 1.0 to the docs.
leftaroundabout Oct 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,11 @@ doc/source/generated
doc/source/odl_interface
doc/source/odl*.rst

docs/_build/
docs/generated
docs/source/odl_interface
docs/source/odl*.rst


## Python

Expand Down
4 changes: 0 additions & 4 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,4 +0,0 @@
[submodule "doc/sphinxext"]
path = doc/numpydoc
url = https://github.com/odlgroup/numpydoc
branch = v0.9.2-odl
22 changes: 22 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Set the OS, Python version, and other tools you might need
build:
os: ubuntu-24.04
tools:
python: "3.13"
jobs:
pre_build:
- python docs/source/generate_doc.py

# Build documentation in the "docs/" directory with Sphinx
sphinx:
configuration: docs/source/conf.py

python:
install:
- requirements: docs/requirements.txt
10 changes: 6 additions & 4 deletions CONTRIBUTORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,20 @@ We are grateful for contributions and would like to acknowledge all people who h

## Contributors in alphabetic order

* [Jonas Adler](https://github.com/adler-j). Package maintainer. Created much of the `Set`, `LinearSpace` and `Operator` structure including utilities. Has also contributed to most other submodules.
* [Jonas Adler](https://github.com/adler-j). Created much of the `Set`, `LinearSpace` and `Operator` structure including utilities. Has also contributed to most other submodules.
* [Sebastian Banert](https://github.com/sbanert). Contributions to `odl.solvers`.
* [Chong Chen](https://github.com/chongchenmath). Started work on the `odl.deform` package.
* [Matthias J. Ehrhardt](https://github.com/mehrhardt). Several contributions to `odl.solvers`, in addition to general bug fixes and improvements.
* [Barbara Gris](https://github.com/bgris). Added `examples/solvers/find_optimal_parameters`.
* [Johan Karlsson](https://github.com/hilding79). Contributions to `odl.solvers`.
* [Holger Kohr](https://github.com/kohr-h). Package maintainer. Was part of the design of ODL and created several of the submodules, including `odl.discr`, `odl.trafos` and `odl.tomo`. Has contributed to most modules.
* [Holger Kohr](https://github.com/kohr-h). Was part of the design of ODL and created several of the submodules, including `odl.discr`, `odl.trafos` and `odl.tomo`. Has contributed to most modules.
* [Gregory R. Lee](https://github.com/grlee77). Bugfixes.
* [Julian Moosmann](https://github.com/moosmann). Significant work on the initial `odl.tomo` module.
* [Kati Niinim�ki](https://github.com/niinimaki). Implemented the `WaveletTransform`.
* [Kati Niinim�ki](https://github.com/niinimaki). Implemented the `WaveletTransform`.
* [Willem Jan Palenstijn](https://github.com/wjp). Added adjoint of `RayTransform`.
* [Axel Ringh](https://github.com/aringh). Created much of the `odl.solvers` module, in particular oversaw the addition of `Functional`.
* [Justus Sagemüller] (https://github.com/leftaroundabout). Package developer since 2023. Made ODL mutli-backend and array-API compatible.
* [Emilien Valat] (https://github.com/Emvlt). Package developer since 2024. Made ODL mutli-backend and array-API compatible.
* [Olivier Verdier](https://github.com/olivierverdier). Typos.
* [Gustav Zickert](https://github.com/zickert). Started the `odl.contrib.fom` package.
* [Ozan �ktem](https://github.com/ozanoktem). Father of the project. Proposed the idea and made sure we had money to get it done!
* [Ozan �ktem](https://github.com/ozanoktem). Father of the project. Proposed the idea and made sure we had money to get it done!
5 changes: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
[![Anaconda-Server Badge](https://anaconda.org/conda-forge/odl/badges/version.svg)](https://anaconda.org/conda-forge/odl) <!-- [![PyPI version](https://badge.fury.io/py/odl.svg)](https://badge.fury.io/py/odl)
[![Build Status](https://travis-ci.org/odlgroup/odl.svg?branch=master)](https://travis-ci.org/odlgroup/odl?branch=master)
[![Coverage Status](https://coveralls.io/repos/github/odlgroup/odl/badge.svg)](https://coveralls.io/github/odlgroup/odl) -->
[![license](https://img.shields.io/badge/license-MPL--2.0-orange.svg)](https://opensource.org/licenses/MPL-2.0)
[![DOI](https://zenodo.org/badge/45596393.svg)](https://zenodo.org/badge/latestdoi/45596393)
Expand All @@ -24,7 +23,7 @@ Installing ODL should be as easy as

For more detailed instructions, check out the [Installation guide](https://odlgroup.github.io/odl/getting_started/installing.html).

ODL is compatible with Python 2/3 and all major platforms (GNU/Linux / Mac / Windows).
ODL is compatible with Python 3 and all major platforms (GNU/Linux / Mac / Windows).

Resources
=========
Expand Down Expand Up @@ -70,7 +69,7 @@ Mozilla Public License version 2.0 or later. See the [LICENSE](LICENSE) file.

ODL developers
--------------
Development of ODL started in 2014 as part of the project "Low complexity image reconstruction in medical imaging” by Ozan Öktem ([@ozanoktem](https://github.com/ozanoktem)), Jonas Adler ([@adler-j](https://github.com/adler-j)) and Holger Kohr ([@kohr-h](https://github.com/kohr-h)). Several others have made significant contributions, see the [contributors](CONTRIBUTORS.md) list.
Development of ODL started in 2014 as part of the project "Low complexity image reconstruction in medical imaging” by Ozan Öktem ([@ozanoktem](https://github.com/ozanoktem)), Jonas Adler ([@adler-j](https://github.com/adler-j)) and Holger Kohr ([@kohr-h](https://github.com/kohr-h)). Since 2023, Justus Sagemüller ([@leftaroundabout](https://github.com/leftaroundabout)) and Emilien Valat ([@Emvlt](https://github.com/Emvlt)) have been ODL's main developers. Several others have made significant contributions, see the [contributors](CONTRIBUTORS.md) list.

To contact the developers either open an issue on the issue tracker or send an email to odl@math.kth.se.

Expand Down
210 changes: 0 additions & 210 deletions doc/Makefile

This file was deleted.

Loading