Bart Versions Save

BART: Toolbox for Computational Magnetic Resonance Imaging

v0.9.00

5 months ago

DOI

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

v0.8.00

1 year ago

DOI

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

v0.7.00

3 years ago

DOI Changes:

  • 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

v0.6.00

3 years ago

DOI

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

v0.5.00

4 years ago

DOI

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

v0.4.04

5 years ago

DOI

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

v0.4.03

6 years ago

DOI

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

v0.4.02

6 years ago

DOI

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

v0.4.01

6 years ago

DOI

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

v0.4.00

7 years ago

DOI

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