Releases: mrirecon/bart
Releases · mrirecon/bart
version 0.9.00
Changes:
- new tools: nlmeans, tensorflow, nufftbase, calc, psf
- calc: access some mathematical functions from the command-line
- nlmean: non-local means filter
- tensorflow: load and apply Tensorflow graph
- nufftbase: compute Fourier transform of basis used in nuFFT
- psf: compute PSF
- nufft: various new options to control behavior
- nufft: basis and weights
- nufft: zero and low memory modes
- nufft: use -x for image dimensions
- sim: Bloch-McConnell simulations
- traj: rotation of Cartesian trajectories
- traj: RAGA trajectories
- reconet: MPI support
- reconet: tensorflow graph support
- reconet: export graph for visualization
- pics: mpi and multi-GPU support
- pics: add shared-img-dims option to pics
- pics: add option to specify FISTA
- pics: preconditioning
- nlinv: add option to specifiy non-Cart image size
- phantom: BRAIN geometry
- phantom: 64ch sensitivities
- phantom: ellipsoid simulation
- phantom: support for generic geometries
- mobafit: add basis to mobafit
- mobafit: add IR and IR LL to mobafit
- mobafit: magnitude fitting
- mobafit: scaling and initial values
- mobafit: minimum and maximum bounds
- mobafit: GPU support
- nrmse: add option for scientific notation
- moba: Export and ksp coils in moba
- moba: Various new options
- estdelay: support for looping
- version: show tensorflow and MPI support
- signal: Spin-Echo signal model
- scripts/shell: kspace_precond.sh: Script to compute k-space preconditioner
- scripts/python: bart_tf.py: Export tensorflow graphs for use with BART
- scripts/python: bart.py: Print stdout and stderr output from bart call
- scripts/python: splines_from_svg.py: extract spline control points from SVG files
- library/geom: Brain geometry
- library/misc: better backtraces
- library/num: md_ravel_index, md_select_strides, md_zsmin2, md_unravel
- library/num: library for complex-valued Gaussians
- library/num: cuda kernels: zdot, zfsq2, zfftmod_3d, zsmin, compress, decompress
- library/num: cuda batch kernels: xpay, axpy, dot_bat
- library/num: cuda kernels: (z)add_unfold, (z)mul(c)_unfold, (z)fmac(c)_unfold
- library/num: md_nlmeans(2), md_nlmeans_distance(2)
- library/num: library for MPI sync, broadcast, reductions
- library/num: double precision bessel function
- library/num: special functions: sinc, sincf, jinc
- library/num: library for virtual pointers
- library/num: time-ordered matrix exponentials: mat_to_exp
- library/num: functions for adjoint sensitivity analysis
- library/num: functions for quadratures: trapezoidal, simpson
- library/num: configure fftw wisdom/measure via environment variable
- library/simu: Bloch McConnell simulations
- library/simu: Spin Echo signal model
- library/linops: linop: flip
- library/nlops: nlops: zphsr and zabs
- library/nn: nlops: ardioid, siglog, igaussian
- library/network: tensorflow networks
- library/noncart: nufft inverse gridding on GPU
- library/noncart: RAGA trajectories
- library/iter: weighted least-squares prox function
- library/iter: batched conjgrad
- library/iter: multiple regularizations for primal-dual
- general: webasm support
- general: BART_ prefix to environment variables
- general: generic loop interface to bart
- general: basic MPI support
- general: OpenMPI and GPU for gridding
- general: zero-overhead mode for nuFFT
- general: performance improvements
- general: many GPU improvements, unified GPU initialization
- built: FORTRAN and PNG options
- built: LTO integration test
- built: OMP=0 CUDA=1 compilation
- built: more unit and integration tests
- many other bug fixes and improvements
version 0.8.00
Changes:
- new tools: epg ictv sim reconet onehotenc measure mnist multicfl morphop fovshift
- epg: EPG simulations
- ictv: infimal convolution TV (experimental)
- sim: Bloch simulations
- reconet: deep learning reconstruction (MoDL, VarNET)
- onehotenc: transform onehotencoded data to integer encoded
- measure: compute MSE, SSIM, PSNR
- mnist: simple mnist network for demonstration
- multicfl: combine/split cfl files
- morphop: morphological operations
- fovshift: retrospectively shift the FOV
- pics: tensorflow loss
- pics: select wavelet type
- pics: TGV/ICTV regularization (experimental)
- moba: scaling parameters via command-line parameters
- moba: various numerical fixes
- moba: time timensions
- moba: support for ADMM
- moba: Bloch model recon with tests
- moba: multi-gpu option
- moba: scaling of TV derivatives
- phantom: NIST phantom and others
- phantom: rotation for TUBE and NIST phantom geometries
- phantom: rectangle geometry
- traj: flag for oversampled trajectory
- traj: 3D uniform (half-sphere) trajectory
- sim: output partial derivatives
- twixread: updates for VD/VE versions
- ismrmd: support for reading XML metadata
- estdelay: more generic regarding un-/centered trajectories
- tgv: for rof / tgv denoising
- rmfreq: support for contrast changes and coilwise contrast
- mobafit: T2 and diffusion fit
- ecalib: make number of iterations for orthiter configurable
- nufft: warn about incorrectly scaled trajectories
- nlinv: fix noncart ENLIVE
- pics: fix basis pursuit pics when using a sampling pattern (#285)
- fakeksp: fix output argument
- python interface: allow multiple files with the correct option string
- python interface: faster write_cfl
- library: New md functions: zacos, zsinh, zcosh, pdf_gauss, zmaxnorm, zcorr, tenmul
- library: framework for neural networks
- library: optimization algorithms: SGD, Adam, Adadelta, iPALM
- library: linear operators: scale, zconj, zreal, permute, padding, repmat, scaled_sum
- library: many new non-linear operators
- library: support for using different wavelet type
- library: nlop_attach, for attaching a random data pointer
- library: nlop reshape function
- library: allow forward nufft with toeplitz
- library: tgv/ictv + multiple penalties + 3D
- generic: radial DCF examples
- generic: Add support for multi cfl
- generic: POSIX shared memory files
- generic: improve determinism
- generic: improved parallelization and multi-gpu support
- generic: add better support for use as shared libray
- generic: bart for centos 7
- generic: Fix Fedora Packages
- generic: Windows support by MSYS2
- generic: support for linking with cudann
- generic: support for linking with tensorlfow
- generic: add pythontest to github action
- generic: LTO test builts
- many other bug fixes and improvements
version 0.7.00
- new tools: signal mobafit roistat pol2mask conway
- signal: tool to simulate MRI signals
- mobafit: tool for point-wise fitting
- roistat: tool to compute ROI statistics
- pol2mask: tool to compute masks from polygons
- conway: Conway's game of life
- moba: model-based recon for multi-echo FLASH
- moba: model-based T2 mapping
- moba: make coil smoothness configurable
- moba: add command-line option for alpha_min0
- moba: add option for k-space filter
- moba: enable cartesian k-space data in moba
- wshfl: Add fista option
- estdelay: export to file
- traj: multi-echo trajectory
- traj: reading of gradient delays from file
- phantom: random tube phantom
- nlinv: non squared image sizes
- generic: additional tests and unit tests
- generic: continuous integration for gitlab
- generic: support for BART_COMPAT_VERSION
- generic: warning for dirty git versions
- generic: target for libismrm.a if ISMRMRD enabled
- generic: support for IBM POWER9 HPC ppc64le
- generic: MATLAB/Octave test
- library: add support for long options
- library: new functions: md_zslessequal
- library: linop_reshape_in, linop_reshape_out
- library: generalized linop_sum
- library: operator_stack along an arbitrary dimension
- library: new zsmax prox operator
- library: continuation for lsqr/itop
- library: warmstart for lsqr
- library: BLAS accelerated strided operations
- library: add more geometry functions
- library: more operator_p helper functions
- many other bug fixes and improvements
version 0.6.00
Changes:
- new tools: bin ssa upat rmfreq
- bin: tool for binning of dynamic data (Sebastian Rosenzweig)
- ssa: Singular Spectrum Analysis (SSA) and SSA-FARY method (Sebastian Rosenzweig)
- rmfreq: remove angle-dependent frequency in radial acquisitions (Sebastian Rosenzweig)
- upat: generate Cartesian undersampling patterns
- phantom: tubes and BART logo phantoms
- reshape: perform more general reshapes
- show: control precision (Max Litster)
- nufft: option to output over-sampled grid
- version: check for minimum BART version
- traj: problems introduced in 0.5.00 fixed (208, 209, ...)
- traj: support for asymmetric echos
- pics: allow data in COEFF_DIM if basis is not used
- nlinv: add direct support for non-Cartesian trajectories
- tests: bin, estdelay, ssa, nlinv, pics, nufft, phantom, reshape, upat
- generic: removed CMake build system
- generic: simplify building of libraries
- generic: support running valgrind on unit tests
- generic: better support and packages for Fedora and CentOS (Philip Schaten)
- library: new functions: md_reshape, md_pad, md_check_equal_dims, md_zcovar,
md_zdiv_reg, md_exp, md_log, md_zsin, md_zcos, md_zatanr, md_zss2,
md_zsmin, md_real, md_imag - library: new line drawing functions required by view
- library: new functions: mat_pinv_left, mat_pinv_right
- library: new debug function to print bitmasks
- library: fix GPU fft to work with more complicated dimensions (Christian Holme)
- many other bug fixes and improvements
version 0.5.00
Changes:
- new tools: moba, looklocker, tgv, extract, fftrot
- moba: non-linear model-based recon for T1 mapping (Xiaoqing Wang)
- looklocker: post-processing for moba
- extract: extract ranges from multi-dim. arrays
- tgv: a tgv denoiser
- fftrot: perform rotations using FFTs
- join: append to non-existing file
- pics: low-mem flag (-U)
- pics: efficient basis functions (Sebastian Rosenzweig)
- pics: pattern for non-Cartesian trajectories
- nlinv: enlive on the gpu
- twixread: read multi-raid files
- twixread: mode for radial
- traj: custom angle to traj (Aurélien Trotier)
- traj: small golden angles (Jasper Schoormans)
- traj: option to rotate trajectory
- extract: multiple dims (Christian Holme)
- slice: multiple dims (Christian Holme)
- generic: NOEXEC_FLAG flag for non-executable stacks
- generic: automatic rebuilds for makefile changes
- generic: make it possible to run individual tests
- library: use long in gridding code to support larger grids
- library: zsmax functions for cpu and gpu
- library: function for setting random initial state in wavthresh
- library: lsqr/lad return operator_p to select regularization
- library: generalize cuda fft a bit for efficiency
- library: fix for CUDA strided memcpy
- many other bug fixes and improvements
version 0.4.04
Changes:
- new tools: index poly wshfl zexp
- index: generate indices
- poly: generate polynomial patterns (Siddharth Iyer)
- wshfl: wave-shuffling (Siddharth Iyer)
- zexp: replace zexpj with zexp for complex exponentials
- pics: support for temporal basis
- pics: overlapping blocks option for LLR (Jon Tamir)
- pics: make basis pursuit possible for noncartesian data
- pics: non-negative constraint (Jon Tamir)
- nlinv: introduce option for sms
- ecalib: fix bug in phase rotation
- ecalib: add debug_level argument
- estdelay: RING method (Sebastian Rosenzweig)
- traj: Half circle golden-ratio sampling (Sebastian Rosenzweig)
- traj: Option for asymmetric trajectories (Sebastian Rosenzweig)
- bench: add option to select benchmarks using bitmask
- phantom: add geometric object phantom (Sebastian Rosenzweig)
- phantom: fix inconsistency between img-phantom and k-phantom for rectangles (Sebastian Rosenzweig)
- copy: enhance copy command to do simple copies
- toimg: windowing and option to re-scale images to full dynamic range (Jon Tamir)
- generic: many new integration and unit tests
- generic: improved WSL support (Soumick Chatterjee)
- generic: add mkl support (Jon Tamir)
- generic: bart as a library (Damien Nguyen)
- generic: CMake improvements (Damien Nguyen)
- generic: Save FFTW wisdom when TOOLBOX path is set (Siddharth Iyer)
- generic: fixes for memory leaks
- library: optimized strided copy on GPU (Simon Yeung)
- library: parallelization to fftmod
- library: nufft: efficient use with temporal basis
- library: nufft: fix issue with over-sized trajectories
- library: add runga-kutta ode solver
- library: iter/italgos: alternating minimization (Christian Holme)
- library: irgnm: add minimum for alpha as parameter (Christian Holme)
- library: step size support in chambolle-pock
- library: add tenmul operator
- library: add md_zexp
- library: add zexp nonlinear operator
- library: add linop_null and linop_plus
- library: add md_zsum: (Complex) sum along specified dimensions (Sebastian Rosenzweig)
- library: fix bug in septrafo (broke cdf97 wavelets)
- many other bug fixes and improvements
version 0.4.03
Changes:
- nlinv: add ENLIVE support (Christian Holme)
- nlinv: add (hidden) option to specify coil weighting parameters (Christian Holme)
- nlinv: option for different pattern for each coil (Christian Holme)
- nlinv: sensitivity output also when using GPU (Christian Holme)
- nlinv: add timing output (Christian Holme)
- nlinv: add option for debug level (Christian Holme)
- nlinv: add option to provide initialization (Christian Holme)
- nlinv: make IRGNM reduction factor configurable (Christian Holme)
- nufft: add nufft according to conventional definition
- ecalib: add option to turn off phase rotation (Jonathan Tamir)
- homodyne: add option for uncentered ffts (Jonathan Tamir)
- bench: add benchmarks for fft, fftmod, md_fft
- library: admm: add parameter selection by residual balancing (Jonathan Tamir)
- library: add function to detect nontrivial strides
- library: fix bug for gpu-mode of cdiag operator
- library: irgnm: add callback (Christian Holme)
- general: add script for memory-economic use of espirit
- build: updates and fixes for CMake
- build: build fixes on Mac OS X
- many other bug fixes and improvements
version 0.4.02
Changes:
- new tools: std var vec wavepsf whiten
- std: compute standard deviation (Jonathan Tamir)
- var: compute variance (Jonathan Tamir)
- vec: create vectors from the command line
- wavepsf: create PSF for wave acquisition (Siddharth Iyer)
- whiten: compute/apply whitening matrix (Jonathan Tamir)
- pics: basis pursuit formulation (Jonathan Tamir)
- nlinv: support for simultaneous multi-slice (Sebastian Rosenzweig)
- nlinv: various enhancements and fixes (Christian Holme)
- pics: support for simultaneous multi-slice (Sebastian Rosenzweig)
- traj: radial simultaneous multi-slice trajectories (Sebastian Rosenzweig)
- fft: uncentered option (Jonathan Tamir)
- nufft: use Toepliz-mode by default
- nufft: add GPU option
- python 3 version for bartview (Siddharth Iyer)
- fix compilation for Cygwin on Windows (Johannes Töger)
- include relevant parts of LAPACKE in BART
- library: add NIHT algorithm (Sofia Dimoudi)
- library: add Chambolle-Pock primal dual algorithm for F(Ax) + G(x) (Jonathan Tamir)
- library: add md_zss function for sum-of-squares (Jonathan Tamir)
- library: improved parallelization (Michael Anderson)
- library: joint l1-wavelet regularization
- library: rename wavelet3 to wavelet
- library: Hamming and Hann windows (Jonathan Tamir)
- library: png write functions (Christian Holme)
- library: initial interface for nonlinear operators
- many other bug fixes and improvements
version 0.4.01
Changes:
- new tools: casorati mandelbrot wavelet estshift estdelay ccapply
- cc tool: new option to output compression matrix
- traj tool: new option for gradient-error corrected radial trajectories
- pics tool: fix for the use of weights for non-Cartesian trajectories
- pics tool: fix for the use of weights with higher (temporal) dimensions (Jon Tamir)
- pics tool: allow the use of higher dimensions in sensitivity maps (Jon Tamir)
- nlinv tool: various fixes (Christian Holme)
- threshold tool: fix for hard thresholding (Jon Tamir)
- cmake: integration testing (Damien Nguyen)
- cmake: CUDA support (Damien Nguyen)
- fixes for a couple of memory leaks (Damien Nguyen, Christian Holme)
- faster system tests, more unit tests and system tests
- library: improved precision of wavelet filters
- library: new functions for tensor multiplication (md_ztenmul, ...)
- library: function to compute sensitivities with Biot-Savart law
- library: functions for polynoms
- library: improved and extended functions for splines
- many other bug fixes and improvements
version 0.4.00
Changes:
- new tools: copy, squeeze, flatten, delta, zexpj, invert
- show tool: option to use custom number formatting
- poisson: option to specify random seed in poisson (David Smith)
- threshold: hard threshold option
- join: append mode
- nufft: nudft option
- nufft: randshift for nufft
- pics: batch mode
- pics: FT as sparsity transform
- nrmse: auto_scale option
- fmac tool: if only two args are specified then squash-and-sum
- remove rsense tool
- support for cmake (Hans Johnson)
- rename vars.(sh|m) to startup.(sh|m)
- more efficient Matlab interface (Tim Loderhose)
- write BART version and command line into created files
- change fftw to use 64-bit interface
- phase out old wavelet2 code
- library: phase cycling for nufft
- library: support weights in toeplitz mode
- library: fmac operator
- library: cabs: complex magnitude
- library: md_compare
- library: thomas algorithm
- library: inital spline code
- many other bug fixes and enhancements