Generated 2026-11-02 by tools/port_status.py against upstream commit 0cb5cf9.
- Scope: 175 functions of
src/reachable from the demo pipelines (11188 code lines). - Ported: 135 (6360 code lines, 57 %).
- Validated against MATLAB recordings: 106.
rel L2 is the worst relative L2 error over all recorded calls and outputs.
| Function | Upstream file | Code lines | Ported | MATLAB parity | worst rel L2 |
|---|---|---|---|---|---|
bmIDF |
src/fourierN/bmIDF.m | 165 | yes | 5/5 ok | 9.7e-08 |
bmMriAcquisitionParam |
src/mriRecon/class/bmMriAcquisitionParam.m | 62 | yes | no recording | |
checkMetadataInteractive |
src/rawDataReader/checkMetadataInteractive.m | 163 | |||
dhIsmrmrdReadMetaData |
src/rawDataReader/ismrmrd/dhIsmrmrdReadMetaData.m | 76 | yes | 1/1 ok | 0.0e+00 |
dhIsmrmrdReadRawData |
src/rawDataReader/ismrmrd/dhIsmrmrdReadRawData.m | 39 | yes | 2/2 ok | 0.0e+00 |
mleRawDataReader |
src/rawDataReader/mleRawDataReader.m | 20 | yes | no recording | |
mleIsmrmrdReader |
src/rawDataReader/ismrmrd/mleIsmrmrdReader.m | 19 | yes | no recording | |
bmSiemensReadRawData |
src/rawDataReader/siemens/bmSiemensReadRawData.m | 34 | yes | 2/2 ok | 0.0e+00 |
correctMetadataInteractive |
src/rawDataReader/correctMetadataInteractive.m | 108 | |||
dhSiemensReadMetaData |
src/rawDataReader/siemens/dhSiemensReadMetaData.m | 107 | yes | 4/4 ok | 0.0e+00 |
mleSiemensReader |
src/rawDataReader/siemens/mleSiemensReader.m | 19 | yes | no recording | |
createRawDataReader |
src/rawDataReader/createRawDataReader.m | 11 | yes | 6/6 ok | inf |
bmAxpy |
src/mathOp/bmAxpy.m | 29 | yes | 6/6 ok | 0.0e+00 |
bmBackGradient_n |
src/optim/bmBackGradient_n.m | 33 | yes | 3/3 ok | 0.0e+00 |
bmVarargin |
src/varargin/bmVarargin.m | 14 | yes | 29/29 ok | 0.0e+00 |
bmZero |
src/arrayUtility/bmZero.m | 22 | yes | 3/3 ok | 0.0e+00 |
bmBackGradient |
src/optim/bmBackGradient.m | 8 | yes | 3/3 ok | 0.0e+00 |
bmBackGradient_nT |
src/optim/bmBackGradient_nT.m | 34 | yes | 5/5 ok | 0.0e+00 |
bmBackGradientT |
src/optim/bmBackGradientT.m | 8 | yes | 4/4 ok | 0.0e+00 |
bmBlockReshape |
src/arrayUtility/bmBlockReshape.m | 16 | yes | 28/28 ok | 0.0e+00 |
bmCell2Array |
src/arrayUtility/bmCell2Array.m | 24 | yes | no recording | |
bmCheckDir |
src/readWrite/bmCheckDir.m | 16 | yes | 0/3 ok (3 known div.) | |
bmPointReshape |
src/arrayUtility/bmPointReshape.m | 25 | yes | 30/30 ok | 0.0e+00 |
bmLowRes |
src/mriRecon/function/bmLowRes.m | 44 | yes | 2/2 ok | 0.0e+00 |
bmPermuteToCol |
src/arrayUtility/bmPermuteToCol.m | 24 | yes | 2/2 ok | 0.0e+00 |
bmPhyllotaxisAngle3 |
src/traj3/bmPhyllotaxisAngle3.m | 31 | yes | 5/5 ok | 0.0e+00 |
bmTraj_fullRadial3_phyllotaxis_lineAssym2 |
src/traj3/bmTraj_fullRadial3_phyllotaxis_lineAssym2.m | 50 | yes | 5/5 ok | 4.5e-17 |
mlTrajFromPulseq |
src/trajN/mlTrajFromPulseq.m | 48 | |||
mlUphyAngle3 |
src/traj3/mlUphyAngle3.m | 31 | |||
mlTraj_fullRadial3_phyllotaxis_uniform_lineAssym2 |
src/traj3/mlTraj_fullRadial3_phyllotaxis_uniform_lineAssym2.m | 41 | |||
bmTraj |
src/trajN/bmTraj.m | 20 | yes | 4/4 ok | 3.9e-17 |
bmTraj_formatTraj |
src/traj123/bmTraj_formatTraj.m | 73 | yes | 3/3 ok | 0.0e+00 |
bmTraj_squaredNorm |
src/traj123/bmTraj_squaredNorm.m | 10 | yes | 7/7 ok | 0.0e+00 |
bmVolumeElement_cartesian2 |
src/geom2/bmVolumeElement_cartesian2.m | 46 | yes | 1/1 ok | 5.9e-16 |
bmVolumeElement_cartesian3 |
src/geom3/bmVolumeElement_cartesian3.m | 87 | |||
bmTraj_lineDirection |
src/traj123/bmTraj_lineDirection.m | 16 | yes | 17/17 ok | 0.0e+00 |
bmTraj_nLine |
src/traj123/bmTraj_nLine.m | 62 | yes | 19/19 ok | 0.0e+00 |
bmTraj_lineReshape |
src/traj123/bmTraj_lineReshape.m | 14 | yes | 17/17 ok | 0.0e+00 |
bmVolumeElement1 |
src/geom1/bmVolumeElement1.m | 12 | yes | 22/22 ok | 0.0e+00 |
bmVolumeElement_center_out_radial3 |
src/geom3/bmVolumeElement_center_out_radial3.m | 48 | yes | 1/1 ok | 1.4e-15 |
bmVolumeElement_full_radial3 |
src/geom3/bmVolumeElement_full_radial3.m | 26 | yes | 1/1 ok | 2.0e-15 |
bmVolumeElement_imDeformField2 |
src/geom2/bmVolumeElement_imDeformField2.m | 38 | |||
bmVolumeElement_imDeformField3 |
src/geom3/bmVolumeElement_imDeformField3.m | 66 | |||
bmVolumeElement_randomPartialCartesian2_x |
src/geom2/bmVolumeElement_randomPartialCartesian2_x.m | 16 | yes | 1/1 ok | 0.0e+00 |
bmVoronoi |
src/geom123/bmVoronoi.m | 34 | yes | 23/23 ok | 3.0e-15 |
bmVolumeElement_voronoi_box2 |
src/geom2/bmVolumeElement_voronoi_box2.m | 23 | yes | 2/2 ok | 3.3e-17 |
bmVolumeElement_randomPartialCartesian3_x |
src/geom3/bmVolumeElement_randomPartialCartesian3_x.m | 18 | yes | 1/1 ok | 5.3e-19 |
bmVolumeElement_voronoi_box3 |
src/geom3/bmVolumeElement_voronoi_box3.m | 42 | |||
bmTraj_norm |
src/traj123/bmTraj_norm.m | 11 | yes | 12/12 ok | 0.0e+00 |
bmVolumeElement_voronoi_center_out_radial2 |
src/geom2/bmVolumeElement_voronoi_center_out_radial2.m | 62 | yes | 1/1 ok | 1.2e-15 |
bmVolumeElement_voronoi_center_out_radial3 |
src/geom3/bmVolumeElement_voronoi_center_out_radial3.m | 124 | |||
bmVolumeElement_voronoi_full_radial2 |
src/geom2/bmVolumeElement_voronoi_full_radial2.m | 42 | yes | 11/11 ok | 1.7e-14 |
bmCol |
src/arrayUtility/bmCol.m | 3 | yes | 11/11 ok | 0.0e+00 |
bmVolumeElement_voronoi_full_radial2_nonUnique |
src/geom2/bmVolumeElement_voronoi_full_radial2_nonUnique.m | 55 | |||
bmVolumeElement_voronoi_full_radial3 |
src/geom3/bmVolumeElement_voronoi_full_radial3.m | 101 | yes | 4/4 ok | 1.7e-14 |
bmVolumeElement_voronoi_full_radial3_nonUnique |
src/geom3/bmVolumeElement_voronoi_full_radial3_nonUnique.m | 123 | |||
bmVolumeElement |
src/geom123/bmVolumeElement.m | 59 | yes | 18/18 ok | 1.7e-14 |
bmCoilSense_nonCart_data |
src/coilSense/nonCart/bmCoilSense_nonCart_data.m | 23 | yes | 3/3 ok | 8.5e-15 |
bmImDim |
src/imageN/bmImDim.m | 35 | yes | 6/6 ok | 0.0e+00 |
bmImReshape |
src/image123/bmImReshape.m | 21 | yes | 6/6 ok | 0.0e+00 |
bmImShiftList_to_image |
src/image123/bmImShiftList_to_image.m | 43 | |||
bmImShiftList_to_structEl |
src/image123/bmImShiftList_to_structEl.m | 7 | |||
bmImDilate |
src/image123/bmImDilate.m | 3 | |||
bmImErode |
src/image123/bmImErode.m | 3 | |||
bmImClose |
src/image123/bmImClose.m | 5 | |||
bmImOpen |
src/image123/bmImOpen.m | 5 | |||
bmGetNum |
src/dialog/bmGetNum.m | 21 | |||
bmImageViewerParam |
src/imDisp/bmImageViewerParam.m | 123 | |||
bmRotation2 |
src/linAlg2/bmRotation2.m | 6 | |||
bmImage2 |
src/imDisp/bmImage2.m | 326 | |||
bmGetNat |
src/dialog/bmGetNat.m | 25 | |||
bmTheta_phi |
src/geom3/bmTheta_phi.m | 17 | |||
bmPsi_theta_phi |
src/geom3/bmPsi_theta_phi.m | 43 | |||
bmRotation3 |
src/linAlg3/bmRotation3.m | 18 | |||
bmImage3 |
src/imDisp/bmImage3.m | 651 | |||
bmImage4 |
src/imDisp/bmImage4.m | 595 | |||
bmImage5 |
src/imDisp/bmImage5.m | 618 | |||
bmImage |
src/imDisp/bmImage.m | 25 | |||
bmImShiftList |
src/image123/bmImShiftList.m | 52 | |||
bmColReshape |
src/arrayUtility/bmColReshape.m | 12 | yes | 20/20 ok | 0.0e+00 |
bmIsBlockShape |
src/arrayUtility/bmIsBlockShape.m | 10 | yes | 14/14 ok | 0.0e+00 |
bmIsColShape |
src/arrayUtility/bmIsColShape.m | 10 | yes | 12/12 ok | 0.0e+00 |
bmMIP |
src/imageN/bmMIP.m | 9 | yes | 2/2 ok | 5.2e-08 |
bmCoilSense_pinv |
src/coilSense/map/bmCoilSense_pinv.m | 6 | yes | 10/10 ok | 9.2e-08 |
bmIDF1 |
src/fourier1/bmIDF1.m | 9 | yes | no recording | |
bmIDF2 |
src/fourier2/bmIDF2.m | 11 | yes | 6/6 ok | 1.9e-07 |
bmIDF3 |
src/fourier3/bmIDF3.m | 13 | yes | 8/8 ok | 2.1e-07 |
bmImCrope |
src/image123/bmImCrope.m | 37 | yes | 9/9 ok | 0.0e+00 |
bmDFT1 |
src/fourier1/bmDFT1.m | 9 | yes | no recording | |
bmDFT2 |
src/fourier2/bmDFT2.m | 11 | yes | 9/9 ok | 2.4e-16 |
bmDFT3 |
src/fourier3/bmDFT3.m | 13 | yes | 7/7 ok | 2.7e-16 |
bmVarargin_kernelType_nWin_kernelParam |
src/varargin/bmVarargin_kernelType_nWin_kernelParam.m | 36 | yes | 20/20 ok | 0.0e+00 |
bmK |
src/fourier123/prep_function/bmK.m | 126 | yes | 16/16 ok | 0.0e+00 |
bmSparseMat_vec |
src/sparseMat/m/bmSparseMat_vec.m | 189 | yes | 13/13 ok | 0.0e+00 |
bmNasha |
src/fourier123/map_function/nonCartesian/bmNasha.m | 94 | yes | 5/5 ok | 5.3e-07 |
bmRMS |
src/imageN/bmRMS.m | 9 | yes | 4/4 ok | 4.9e-08 |
detectROI |
src/coilSense/automatic/detectROI.m | 37 | yes | 4/4 ok | 0.0e+00 |
selectROI |
src/coilSense/automatic/selectROI.m | 333 | |||
thresholdRMS_MIP |
src/coilSense/automatic/thresholdRMS_MIP.m | 182 | yes | 2/2 ok | 0.0e+00 |
bmCoilSense_nonCart_mask_automatic |
src/coilSense/nonCart/bmCoilSense_nonCart_mask_automatic.m | 84 | yes | 1/1 ok | 0.0e+00 |
bmImLaplaceIterator |
src/image123/bmImLaplaceIterator.m | 83 | yes | 6/6 ok | 5.8e-07 |
bmImLaplacian |
src/image123/bmImLaplacian.m | 35 | yes | 6/6 ok | 0.0e+00 |
bmImLaplaceEquationSolver |
src/image123/bmImLaplaceEquationSolver.m | 14 | yes | 6/6 ok | 2.7e-06 |
bmImPseudoDiffusion_inMask |
src/image123/bmImPseudoDiffusion_inMask.m | 46 | yes | 6/6 ok | 9.4e-08 |
bmY_ve_reshape |
src/linSpace/bmY_ve_reshape.m | 38 | yes | 11/11 ok | 0.0e+00 |
bmY_norm |
src/linSpace/bmY_norm.m | 18 | yes | 2/2 ok | 8.2e-08 |
bmCoilSense_nonCart_primary |
src/coilSense/nonCart/bmCoilSense_nonCart_primary.m | 39 | yes | no recording | |
bmCoilSense_nonCart_ref |
src/coilSense/nonCart/bmCoilSense_nonCart_ref.m | 60 | yes | 1/1 ok | 1.4e-06 |
bmImPseudoDiffusion |
src/image123/bmImPseudoDiffusion.m | 38 | yes | 4/4 ok | 1.1e-07 |
bmKF |
src/fourier123/prep_function/bmKF.m | 21 | yes | 7/7 ok | 0.0e+00 |
bmKF_conj |
src/fourier123/prep_function/bmKF_conj.m | 21 | yes | 7/7 ok | 0.0e+00 |
bmNakatsha_CUFFT_omp |
src/fourier123/map_function/nonCartesian/bmNakatsha_CUFFT_omp.m | 58 | |||
bmNakatsha_FFTW_omp |
src/fourier123/map_function/nonCartesian/bmNakatsha_FFTW_omp.m | 58 | |||
bmNakatsha_MATLAB |
src/fourier123/map_function/nonCartesian/bmNakatsha_MATLAB.m | 61 | yes | 8/8 ok | 1.6e-07 |
bmNakatsha |
src/fourier123/map_function/nonCartesian/bmNakatsha.m | 24 | yes | 8/8 ok | 1.6e-07 |
bmShanna_CUFFT_omp |
src/fourier123/map_function/nonCartesian/bmShanna_CUFFT_omp.m | 57 | |||
bmShanna_FFTW_omp |
src/fourier123/map_function/nonCartesian/bmShanna_FFTW_omp.m | 57 | |||
bmImZeroFill |
src/image123/bmImZeroFill.m | 41 | yes | no recording | |
bmShanna_MATLAB |
src/fourier123/map_function/nonCartesian/bmShanna_MATLAB.m | 60 | yes | 4/4 ok | 2.4e-07 |
bmShanna |
src/fourier123/map_function/nonCartesian/bmShanna.m | 18 | yes | 4/4 ok | 2.4e-07 |
bmCoilSense_nonCart_secondary |
src/coilSense/nonCart/bmCoilSense_nonCart_secondary.m | 60 | yes | no recording | |
bmCreateDir |
src/readWrite/bmCreateDir.m | 19 | yes | 0/3 ok (3 known div.) | |
bmDFT1_conjTrans |
src/fourier1/bmDFT1_conjTrans.m | 9 | yes | no recording | |
bmDFT2_conjTrans |
src/fourier2/bmDFT2_conjTrans.m | 11 | yes | no recording | |
bmDFT3_conjTrans |
src/fourier3/bmDFT3_conjTrans.m | 13 | yes | no recording | |
bmIsScalar |
src/arrayUtility/bmIsScalar.m | 14 | yes | 9/9 ok | 0.0e+00 |
bmEuclideProd |
src/mathOp/bmEuclideProd.m | 35 | yes | 10/10 ok | 1.5e-05 |
bmGridder_n2u |
src/gridding123/m/bmGridder_n2u.m | 148 | |||
bmGridder_n2u_leight |
src/gridding123/m/bmGridder_n2u_leight.m | 90 | yes | 13/13 ok | 0.0e+00 |
bmIDF1_conjTrans |
src/fourier1/bmIDF1_conjTrans.m | 9 | yes | no recording | |
bmIDF2_conjTrans |
src/fourier2/bmIDF2_conjTrans.m | 11 | yes | no recording | |
bmIDF3_conjTrans |
src/fourier3/bmIDF3_conjTrans.m | 13 | yes | no recording | |
bmImDeform |
src/image123/bmImDeform.m | 31 | yes | 3/3 ok | 0.0e+00 |
bmSparseMat_r_nJump2index |
src/sparseMat/m/bmSparseMat_r_nJump2index.m | 14 | yes | 10/10 ok | 0.0e+00 |
bmImDeformField2sparseMat_ind_weight |
src/gridding123/m/bmImDeformField2sparseMat_ind_weight.m | 111 | yes | 2/2 ok | 3.8e-17 |
bmSparseMat_completeMatlabSparse |
src/sparseMat/m/bmSparseMat_completeMatlabSparse.m | 18 | yes | 15/15 ok | inf |
bmSparseMat_blockPartition |
src/sparseMat/m/bmSparseMat_blockPartition.m | 105 | yes | 14/14 ok | 0.0e+00 |
bmSparseMat |
src/sparseMat/m/bmSparseMat.m | 267 | yes | no recording | |
bmSparseMat_matlabSparse2bmSparseMat |
src/sparseMat/m/bmSparseMat_matlabSparse2bmSparseMat.m | 25 | yes | 10/10 ok | 0.0e+00 |
bmImDeformField2SparseMat |
src/gridding123/m/bmImDeformField2SparseMat.m | 103 | yes | 1/1 ok | 0.0e+00 |
bmImDeformField_hardThresholding2 |
src/image2/m/bmImDeformField_hardThresholding2.m | 20 | yes | 2/2 ok | 0.0e+00 |
bmPermuteToPoint |
src/arrayUtility/bmPermuteToPoint.m | 18 | yes | 2/2 ok | 0.0e+00 |
bmImDeformFieldChain_imRegDemons23 |
src/imReg/m/bmImDeformFieldChain_imRegDemons23.m | 120 | yes | 0/2 ok (2 known div.) | |
bmImDeformFieldSheet_imRegDemons23 |
src/imReg/m/bmImDeformFieldSheet_imRegDemons23.m | 141 | yes | no recording | |
bmImDeformT |
src/image123/bmImDeformT.m | 31 | yes | 5/5 ok | 0.0e+00 |
bmImResize |
src/image123/bmImResize.m | 91 | yes | 4/4 ok | 6.2e-08 |
bmIndex2MultiIndex |
src/arrayUtility/bmIndex2MultiIndex.m | 20 | yes | 2/2 ok | 0.0e+00 |
bmInitialWitnessInfo |
src/optim/bmInitialWitnessInfo.m | 34 | yes | 8/8 ok | 0.0e+00 |
bmTraj_N_u |
src/traj123/bmTraj_N_u.m | 11 | yes | 3/3 ok | 0.0e+00 |
bmTraj_dK_u |
src/traj123/bmTraj_dK_u.m | 60 | yes | 3/3 ok | 0.0e+00 |
bmTraj_N_u_dK_u |
src/traj123/bmTraj_N_u_dK_u.m | 22 | yes | 16/16 ok | 0.0e+00 |
bmVarargin_N_u_dK_u |
src/varargin/bmVarargin_N_u_dK_u.m | 6 | yes | 16/16 ok | 0.0e+00 |
bmMathilda |
src/fourier123/map_function/nonCartesian/bmMathilda.m | 82 | yes | 14/14 ok | 5.4e-07 |
bmMinus |
src/mathOp/bmMinus.m | 19 | yes | 7/7 ok | 0.0e+00 |
bmMitosis |
src/arrayUtility/bmMitosis.m | 73 | yes | no recording | |
bmMitosius_create |
src/mitosius/bmMitosius_create.m | 40 | yes | no recording | |
bmMitosius_load |
src/mitosius/bmMitosius_load.m | 56 | yes | no recording | |
bmMult |
src/mathOp/bmMult.m | 17 | yes | 5/5 ok | 0.0e+00 |
bmPlus |
src/mathOp/bmPlus.m | 13 | yes | 5/5 ok | 0.0e+00 |
bmProx_oneNorm |
src/linSpace/bmProx_oneNorm.m | 31 | yes | 4/4 ok | 0.0e+00 |
bmSensa |
src/fourier123/solver_function/imDim/nonCartesian/bmSensa.m | 72 | yes | 1/1 ok | 1.2e-06 |
bmSingle |
src/arrayUtility/bmSingle.m | 15 | yes | 6/6 ok | 0.0e+00 |
bmSquaredNorm |
src/mathOp/bmSquaredNorm.m | 3 | yes | 10/10 ok | 1.5e-05 |
bmSensitivaDuoMorphosia_chain |
src/fourier123/solver_function/imDim_morphosia/nonCartesian/bmSensitivaDuoMorphosia_chain.m | 182 | |||
bmSensitivaMorphosia_chain |
src/fourier123/solver_function/imDim_morphosia/nonCartesian/bmSensitivaMorphosia_chain.m | 152 | yes | no recording | |
bmSensitivaMorphosia_sheet |
src/fourier123/solver_function/imDim_morphosia/nonCartesian/bmSensitivaMorphosia_sheet.m | 200 | |||
bmSleva |
src/fourier123/solver_function/imDim/nonCartesian/bmSleva.m | 118 | yes | 1/1 ok | 1.2e-06 |
bmSteva |
src/fourier123/solver_function/imDim/nonCartesian/bmSteva.m | 122 | yes | 1/1 ok | 1.7e-06 |
bmTevaDuoMorphosia_chain |
src/fourier123/solver_function/imDim_morphosia/nonCartesian/bmTevaDuoMorphosia_chain.m | 217 | yes | no recording | |
bmTevaMorphosia_chain |
src/fourier123/solver_function/imDim_morphosia/nonCartesian/bmTevaMorphosia_chain.m | 165 | yes | no recording | |
bmTevaMorphosia_sheet |
src/fourier123/solver_function/imDim_morphosia/nonCartesian/bmTevaMorphosia_sheet.m | 223 | |||
bmTimeInSecond |
src/time/bmTimeInSecond.m | 4 | yes | 0/4 ok (4 known div.) | |
bmVarargin_sparseType |
src/varargin/bmVarargin_sparseType.m | 7 | yes | 6/6 ok | 0.0e+00 |
bmTraj2SparseMat |
src/gridding123/m/bmTraj2SparseMat.m | 255 | yes | 7/7 ok | 0.0e+00 |
bmWitnessInfo |
src/optim/bmWitnessInfo.m | 138 | yes | no recording |