Expand description
OpenKSpace-Recon: K-space -> image reconstruction math.
Core pipeline:
- (optional) noise pre-whitening –
prewhiten - (optional) navigator phase correction –
phasecorr - fftshift -> IFFT -> fftshift –
fft+shift - RSS coil combine –
coil - (optional) centre crop to recon matrix –
crop
Reconstructions are composed behind the ReconStrategy trait so that
future parallel-imaging / compressed-sensing back-ends can slot in
without touching this crate’s public shape.
§Quick start
use openkspace_recon::{IfftRss, ReconStrategy};
use openkspace_io::ismrmrd::IsmrmrdFile;
let file = IsmrmrdFile::open("scan.h5").unwrap();
let mut strategy = IfftRss::default();
strategy.prewhiten = true;
strategy.phase_correct = true;
let volume = strategy.reconstruct(&file).unwrap();
println!("Reconstructed {} slices", volume.data.shape()[0]);Re-exports§
pub use coil::rss_combine;pub use coil::rss_combine_4d;pub use crop::center_crop_3d;pub use cs::fista_cs_single_coil;pub use cs::CsError;pub use espirit::espirit_sensitivity_maps;pub use fft::ifft1_inplace;pub use fft::ifft2_inplace;pub use fft::ifft3_inplace;pub use grappa::GrappaError;pub use grappa::GrappaKernel;pub use grappa::SamplingPattern;pub use oversampling::OversamplingRemover;pub use partial_fourier::homodyne_reconstruct;pub use partial_fourier::PartialFourierPlan;pub use phasecorr::PhaseCorrector;pub use prewhiten::NoisePrewhitener;pub use sense::sense_gfactor_1d;pub use sense::sense_unfold_1d;pub use sense::SenseError;pub use sensitivity::walsh_sensitivity_maps;pub use shift::fftshift_axis;pub use shift::ifftshift_axis;pub use strategy::CsRss;pub use strategy::FftMode;pub use strategy::GrappaRss;pub use strategy::IfftRss;pub use strategy::ImageVolume;pub use strategy::ReconStrategy;pub use strategy::SenseMapSource;pub use strategy::SenseRss;
Modules§
- coil
- Coil combination strategies.
- crop
- Crop a reconstructed image volume to the recon FOV, removing the vendor-added readout oversampling (commonly 2x along kx).
- cs
- Compressed-sensing reconstruction with an L1 wavelet prior.
- espirit
- ESPIRiT coil sensitivity estimation.
- fft
- Multi-dimensional IFFTs on ndarray tensors, using rustfft.
- grappa
- GRAPPA parallel-imaging reconstruction (2-D Cartesian).
- oversampling
- Readout oversampling removal.
- partial_
fourier - Partial Fourier (half-echo / half-ky) reconstruction via homodyne detection.
- phasecorr
- Navigator phase correction for TSE / EPI readouts.
- prewhiten
- Noise pre-whitening from ISMRMRD noise-adjust scans.
- sense
- Image-domain SENSE (SENSitivity Encoding) unfolding for regular 1-D Cartesian undersampling along ky.
- sensitivity
- Coil sensitivity estimation via the Walsh adaptive method.
- shift
- fftshift / ifftshift along a single axis, for any ndarray dimension.
- strategy
- Reconstruction-strategy abstraction.
- wavelet
- Single-level 2-D Haar wavelet transform (complex-valued).