Releases
v0.241011
What's Included
description added by @ckolbPTB in #18
Initial work on KData and ISMRMRD loading by @fzimmermann89 in #29
fix names in from_ismrmrd_encodingLimitsType() by @schuenke in #31
Make KData a frozen dataclass by @fzimmermann89 in #36
Fix mypy ignore missing imports by @fzimmermann89 in #45
Fix mypy #2 by @fzimmermann89 in #48
Remove _get_shape from Trajectory base by @fzimmermann89 in #43
Add torch, numpy to pre-commit/mypy venv by @fzimmermann89 in #49
switch from autopep8 to black pre-commit hook by @schuenke in #55
Add codespell to pre-commit by @fzimmermann89 in #56
Remove 'clear' dictionary from codespell check by @fzimmermann89 in #57
Ismrmrd test data by @ckolbPTB in #51
switch CI pipeline from unittest to pytest by @schuenke in #59
Initial IData and IHeader implementations by @fzimmermann89 in #30
Update VSCode settings & recommended extensions by @schuenke in #60
Pytest warnings by @schuenke in #66
RPE trajectory by @ckolbPTB in #62
Fix #38 : Set trajectory_dimensions always to 3 by @fzimmermann89 in #75
Refactor ktraj to a dataclass with kz,ky,kx & add DCF calculation by @fzimmermann89 in #76
Change phantom to torch by @ckolbPTB in #77
Sim coil sensitivities by @ckolbPTB in #79
Fix #73 : Let test pipeline fail if tests fail by @fzimmermann89 in #74
Run tests in parallel by @schuenke in #89
QData and QHeader implementation by @schote in #40
CsmData with Walsh-Method implementation by @ckolbPTB in #83
Fixing DCF logic bugs by @fzimmermann89 in #86
hotfix vscode pytest-xdist issues (#87 ) by @fzimmermann89 in #101
Documentation by @schote in #99
Hotfix: Docu pipeline by @schote in #103
Implementation of ktraj shaped like original raw data by @ckolbPTB in #107
Implementation of KTrajectoryRadial2D by @schote in #105
Implementation of Sensitivityop by @guastinimara in #110
Testing by @schuenke in #108
Ismrmrd traj by @ckolbPTB in #113
Noise measurement data class and prewhitening algo added by @ckolbPTB in #114
Remove oversampling and fft added by @ckolbPTB in #116
KTrajectoryPulseq by @JoHa0811 in #111
docu for users and devs extended by @ckolbPTB in #121
Operator Template and Nufft by @fzimmermann89 in #104
reading in of all dcm files from folder by @ckolbPTB in #124
Reshape instead of view by @ckolbPTB in #127
update supported python version to 3.10 & 3.11 by @schuenke in #133
clean up by @ckolbPTB in #137
Define trajectories to fit encoding_matrix and encoding_limits by @ckolbPTB in #140
Cartesian trajectory by @ckolbPTB in #142
fixed issue #141 by @SimoneHufnagel in #145
Signal models added: Inversion and saturation recovery, MOLLI by @Stef-Martin in #129
WASABI(TI) signal models by @schuenke in #130
Fftshift for FourierOp by @ckolbPTB in #143
Hotfix #143 : zero_pad_or_crop broken for dim=None by @fzimmermann89 in #149
Gpu support by @ckolbPTB in #136
Hotfix for PyTorch 2.2 by @ckolbPTB in #152
Disable cuda tests in VScode Test Explorer by @schuenke in #155
Enable data which does not allow for a reshape into k2 and k1 by @ckolbPTB in #153
Allow more than one other dim in KTrajectory by @fzimmermann89 in #160
Bump maximum allowed python to 3.12 by @fzimmermann89 in #163
Synthetic Sugar for Operators (needs python 3.11) by @fzimmermann89 in #128
Fix ignore flags by @fzimmermann89 in #159
Clean up code by @schuenke in #157
Switch to Processes for voronoi cell volume calculation by @fzimmermann89 in #170
Framework py -> ipynb -> docu by @ckolbPTB in #118
Cartesian sampling operator by @ckolbPTB in #146
Update README.md by @fzimmermann89 in #167
HOTIFX: Binder to use main branch by @ckolbPTB in #176
Limit xsd version by @fzimmermann89 in #177
Cart sampling index int64 by @ckolbPTB in #182
Lbfgs box by @schuenke in #131
Same ndim for all AcqInfo fields by @ckolbPTB in #191
Fix operator chaining by @fzimmermann89 in #189
Return copy in remove readout os by @fzimmermann89 in #204
Split data and select subset by @ckolbPTB in #117
Switch to Ruff for linting and formatting by @schuenke in #193
docu update by @ckolbPTB in #214
Docker tests by @ckolbPTB in #175
fix link by @ckolbPTB in #219
move sensitivity operator tests to using dotproduct_adjointness_test by @fzimmermann89 in #220
Generalized matrix operator by @fzimmermann89 in #212
Conjugate Gradient by @koflera in #195
Fix 221: Cartesian sampling op for random undersampling with varying pattern along other by @fzimmermann89 in #223
Add separable nd-filters and sliding window by @fzimmermann89 in #161
Clean up by @ckolbPTB in #218
Support bipolar readout by @ckolbPTB in #222
Fix #216 by @fzimmermann89 in #225
Add from_array_zxy, zyx read-only property and tests to SpatialDimension by @fzimmermann89 in #238
Move kernel in filters to input device. Fixes #239 by @fzimmermann89 in #240
Rotation class by @fzimmermann89 in #209
allow batch dimension in signal models by @fzimmermann89 in #226
Detection tolerance for KTrajectoryPulseq by @schuenke in #232
Restructure algorithms & Move to direct imports in src by @schuenke in #215
Example script for pulseq radial 2D golden angle acquisition by @schuenke in #235
Switch to direct import in einsumop by @fzimmermann89 in #246
Read in multiple dicom files by @ckolbPTB in #248
mono-exponential decay model added by @ckolbPTB in #245
Add operator-tensor multiplication and type hints by @fzimmermann89 in #262
Add .to/.cuda/cpu to KNoise by @fzimmermann89 in #263
add rss to idata by @fzimmermann89 in #264
switch in einsumop to einops notation by @fzimmermann89 in #265
add as_operator to DcfData and CsmData by @fzimmermann89 in #266
fix imports and add py.typed marker by @fzimmermann89 in #267
Improve docstrings and variable names by @fzimmermann89 in #268
Do not check notebooks for spelling mistakes by @ckolbPTB in #277
Magnitude and Phase operator by @ckolbPTB in #273
add fourierop.from_kdata by @fzimmermann89 in #269
Allow multiple other dimensions in prewhiten data by @fzimmermann89 in #272
add direct reconstruction by @fzimmermann89 in #270
Bump pytorch and ismrmrd version by @fzimmermann89 in #281
Allow different total number of phase encode steps in KData by @fzimmermann89 in #207
Projection operator by @fzimmermann89 in #237
Motion / Gridsample operator by @fzimmermann89 in #241
Make trajectory always float by @fzimmermann89 in #286
Unify .to / .cpu / .cuda for data classes by @fzimmermann89 in #279
Add EndomorphOperator by @fzimmermann89 in #280
Fix types by @fzimmermann89 in #282
Precommit: run mypy on all files, including tests. by @fzimmermann89 in #283
Fix reshaping of SpatialDimension in acq_info by @ckolbPTB in #301
Rename all files to categorize them as 'public' for linters by @schuenke in #302
Make TE, TR... to tensors in the header by @ckolbPTB in #271
Different modes and values for padding in separable filter by @ckolbPTB in #299
Finite difference operator by @ckolbPTB in #297
T1 and T2star mapping by @ckolbPTB in #278
Notebook typo by @ckolbPTB in #310
Tests for signal models separated by @ckolbPTB in #312
Docker build for main by @ckolbPTB in #318
Remove pytest filter warning for optimizers by @ckolbPTB in #324
Select ISMRMRD acquisitions with a function instead of ignore flags by @ckolbPTB in #315
Remove optional and default in doc string by @ckolbPTB in #337
Update documentation by @schuenke in #332
power iteration and operator-norm by @koflera in #224
HotFix: Ensure correct return type of matplotlib by @ckolbPTB in #344
Transient steady state model by @ckolbPTB in #319
Fix #316 by @koflera in #357
Cleanup imports by @JoHa0811 in #355
Remove duplicate KDataProtocol by @Pierrickkk in #356
Manage dependencies by @schuenke in #348
Consider user indices when sorting kdata by @Pierrickkk in #354
Bump the all-actions group with 3 updates by @dependabot in #358
Separate test for iterative_walsh algo by @ckolbPTB in #350
Change references to numpydoc-style by @JoHa0811 in #352
Separate conftest into subdirectories by @ckolbPTB in #360
Remove unused parameters in adam by @JoHa0811 in #363
Moved 1D,2D,3D dcf with voronoi calculations to algorithms by @Stef-Martin in #349
Add parameter/attribute doc strings for data classes by @ckolbPTB in #365
Run pytest also for changes to .md by @ckolbPTB in #366
Update readme by @ckolbPTB in #362
Add dtype promotion of result in separable filter by @fzimmermann89 in #342
Fix warning in pickle test by @ckolbPTB in #372
Remove copyright statement from files by @ckolbPTB in #375
file.flush() after file.write() in examples by @ckolbPTB in #374
Add callback to lbfgs and adam by @koflera in #353
Fix doc string format by @ckolbPTB in #376
Allow tensor input for transient steady state model by @ckolbPTB in #378
Select number of cores for pytest in VSCode automatically by @ckolbPTB in #322
Add Iterative SENSE Reconstruction by @ckolbPTB in #287
SI unit conversion in dicom and unit info in docstring by @ckolbPTB in #367
Improve readability of dimension operations by @ckolbPTB in #380
Remove copyright from OptimizerStatus by @ckolbPTB in #383
Csm Inati 2D and 3D by @ckolbPTB in #345
Adapt it sense functions by @ckolbPTB in #379
Add repr method to dataclasses and header by @Stef-Martin in #364
Golden Radial T1 mapping example by @ckolbPTB in #377
Fix errors due to pydicom 3.0 by @ckolbPTB in #391
Add Wavelet Operator by @schuenke in #294
Add Identity LinearOperator by @fzimmermann89 in #390
Change MOLLI from (a,b,T1) to (a,c=b/a,T1) by @ckolbPTB in #406
Move SliceProjectionOp to new autograd.Function syntax by @fzimmermann89 in #409
Move Rotation to data and create utils.typing by @fzimmermann89 in #418
Move GridSampleOp to new autograd.Function syntax by @fzimmermann89 in #408
Add link to summary as PR comment by @ckolbPTB in #423
Fix434 - no link to docu for merge with main by @ckolbPTB in #437
Gitignore common data file types by @ckolbPTB in #424
Removed iterative from walsh by @bernharb in #427
You can’t perform that action at this time.