Skip to content

Latest commit

 

History

History
260 lines (219 loc) · 16 KB

renaming.md

File metadata and controls

260 lines (219 loc) · 16 KB

Renaming: MATLAB names → Python names

The upstream MATLAB functions are prefixed with their author's initials (bm for Bastien Milani, mle for Mauro Leidi, dh for Dominik Helbing). In Python they are named after what they do, following PEP 8:

  1. the author prefix is removed (bmMathilda → mathilda, mleSiemensReader → SiemensReader);
  2. functions are in snake_case (bmCoilSense_nonCart_data → coil_sense_non_cart_data), classes in CapWords (bmSparseMat → SparseMat), methods too (readRawData → read_raw_data);
  3. a 2 between words means to (bmTraj2SparseMat → traj_to_sparse_mat); in n2u (non-uniform to uniform) and in dimensions (bmDFT2, _demons23) it stays;
  4. the reconstruction methods keep their Monalisa names (mathilda, sensa, teva_morphosia_chain).

The names that depart from these rules are explained in the Note column. Functions live in subpackages by topic (monalisa.recon, monalisa.io, ...) and are all available from the top-level package: monalisa.recon.mathilda is also monalisa.mathilda. In code, monalisa.find_function("bmMathilda") returns the Python function of a MATLAB name.

Not renamed, on purpose:

  • arguments, struct fields and object properties keep the MATLAB names (N_u, dK_u, nCh, acquisitionParams.nShot_off): they are the notation of the Monalisa papers and documentation, N_u and n_u are different quantities, and the fields are compared with the MATLAB recordings;
  • option values that MATLAB scripts pass as strings (sparseType='bmSparseMat', class_type='bmMriAcquisitionParam');
  • MATLAB recordings (fixtures/matlab/<scenario>/<MATLAB name>/) and the parity tolerances, which refer to the MATLAB functions.

Python-only public functions (no MATLAB counterpart in src/): monalisa.display.roipoly and poly2mask (as in MATLAB's Image Processing Toolbox), monalisa.io.loadmat73 and savemat73 (MATLAB v7.3 files).

141 functions and classes:

monalisa.array

MATLAB Upstream file Python Note
bmBlockReshape src/arrayUtility/bmBlockReshape.m block_reshape
bmCell2Array src/arrayUtility/bmCell2Array.m cell_to_array
bmCol src/arrayUtility/bmCol.m col
bmColReshape src/arrayUtility/bmColReshape.m col_reshape
bmIndex2MultiIndex src/arrayUtility/bmIndex2MultiIndex.m index_to_multi_index
bmIsBlockShape src/arrayUtility/bmIsBlockShape.m is_block_shape
bmIsColShape src/arrayUtility/bmIsColShape.m is_col_shape
bmIsScalar src/arrayUtility/bmIsScalar.m is_scalar
bmPermuteToCol src/arrayUtility/bmPermuteToCol.m permute_to_col
bmPermuteToPoint src/arrayUtility/bmPermuteToPoint.m permute_to_point
bmPointReshape src/arrayUtility/bmPointReshape.m point_reshape
bmSingle src/arrayUtility/bmSingle.m to_single single would read as the NumPy type
bmZero src/arrayUtility/bmZero.m zero

monalisa.binning

MATLAB Upstream file Python Note
bmMitosis src/arrayUtility/bmMitosis.m mitosis
bmMitosius_create src/mitosius/bmMitosius_create.m mitosius_create
bmMitosius_load src/mitosius/bmMitosius_load.m mitosius_load

monalisa.coil

MATLAB Upstream file Python Note
bmCoilSense_nonCart_data src/coilSense/nonCart/bmCoilSense_nonCart_data.m coil_sense_non_cart_data
bmCoilSense_nonCart_mask_automatic src/coilSense/nonCart/bmCoilSense_nonCart_mask_automatic.m coil_sense_non_cart_mask_automatic
bmCoilSense_nonCart_primary src/coilSense/nonCart/bmCoilSense_nonCart_primary.m coil_sense_non_cart_primary
bmCoilSense_nonCart_ref src/coilSense/nonCart/bmCoilSense_nonCart_ref.m coil_sense_non_cart_ref
bmCoilSense_nonCart_secondary src/coilSense/nonCart/bmCoilSense_nonCart_secondary.m coil_sense_non_cart_secondary
bmCoilSense_pinv src/coilSense/map/bmCoilSense_pinv.m coil_sense_pinv
detectROI src/coilSense/automatic/detectROI.m detect_roi
selectROI src/coilSense/automatic/selectROI.m select_roi
thresholdRMS_MIP src/coilSense/automatic/thresholdRMS_MIP.m threshold_rms_mip

monalisa.display

MATLAB Upstream file Python Note
bmImage src/imDisp/bmImage.m show_image image is the subpackage monalisa.image; the function opens a viewer

monalisa.fourier

MATLAB Upstream file Python Note
bmK src/fourier123/prep_function/bmK.m deapodization one-letter name; K is the deapodization in the Monalisa notation
bmDFT1 src/fourier1/bmDFT1.m dft1
bmDFT1_conjTrans src/fourier1/bmDFT1_conjTrans.m dft1_conj_trans
bmDFT2 src/fourier2/bmDFT2.m dft2
bmDFT2_conjTrans src/fourier2/bmDFT2_conjTrans.m dft2_conj_trans
bmDFT3 src/fourier3/bmDFT3.m dft3
bmDFT3_conjTrans src/fourier3/bmDFT3_conjTrans.m dft3_conj_trans
bmFC src/fourier123/prep_function/bmFC.m fc
bmFC_conj src/fourier123/prep_function/bmFC_conj.m fc_conj
bmIDF src/fourierN/bmIDF.m idf
bmIDF1 src/fourier1/bmIDF1.m idf1
bmIDF1_conjTrans src/fourier1/bmIDF1_conjTrans.m idf1_conj_trans
bmIDF2 src/fourier2/bmIDF2.m idf2
bmIDF2_conjTrans src/fourier2/bmIDF2_conjTrans.m idf2_conj_trans
bmIDF3 src/fourier3/bmIDF3.m idf3
bmIDF3_conjTrans src/fourier3/bmIDF3_conjTrans.m idf3_conj_trans
bmKF src/fourier123/prep_function/bmKF.m kf
bmKF_conj src/fourier123/prep_function/bmKF_conj.m kf_conj
bmNakatsha src/fourier123/map_function/nonCartesian/bmNakatsha.m nakatsha
bmNakatsha_MATLAB src/fourier123/map_function/nonCartesian/bmNakatsha_MATLAB.m nakatsha_matlab
bmShanna src/fourier123/map_function/nonCartesian/bmShanna.m shanna
bmShanna_MATLAB src/fourier123/map_function/nonCartesian/bmShanna_MATLAB.m shanna_matlab

monalisa.geometry

MATLAB Upstream file Python Note
bmVolumeElement src/geom123/bmVolumeElement.m volume_element
bmVolumeElement1 src/geom1/bmVolumeElement1.m volume_element1
bmVolumeElement_cartesian2 src/geom2/bmVolumeElement_cartesian2.m volume_element_cartesian2
bmVolumeElement_center_out_radial3 src/geom3/bmVolumeElement_center_out_radial3.m volume_element_center_out_radial3
bmVolumeElement_full_radial3 src/geom3/bmVolumeElement_full_radial3.m volume_element_full_radial3
bmVolumeElement_randomPartialCartesian2_x src/geom2/bmVolumeElement_randomPartialCartesian2_x.m volume_element_random_partial_cartesian2_x
bmVolumeElement_randomPartialCartesian3_x src/geom3/bmVolumeElement_randomPartialCartesian3_x.m volume_element_random_partial_cartesian3_x
bmVolumeElement_voronoi_box2 src/geom2/bmVolumeElement_voronoi_box2.m volume_element_voronoi_box2
bmVolumeElement_voronoi_center_out_radial2 src/geom2/bmVolumeElement_voronoi_center_out_radial2.m volume_element_voronoi_center_out_radial2
bmVolumeElement_voronoi_full_radial2 src/geom2/bmVolumeElement_voronoi_full_radial2.m volume_element_voronoi_full_radial2
bmVolumeElement_voronoi_full_radial3 src/geom3/bmVolumeElement_voronoi_full_radial3.m volume_element_voronoi_full_radial3
bmVoronoi src/geom123/bmVoronoi.m voronoi

monalisa.gridding

MATLAB Upstream file Python Note
bmGridder_n2u_leight src/gridding123/m/bmGridder_n2u_leight.m gridder_n2u_leight
bmImDeformField2SparseMat src/gridding123/m/bmImDeformField2SparseMat.m im_deform_field_to_sparse_mat
bmImDeformField2sparseMat_ind_weight src/gridding123/m/bmImDeformField2sparseMat_ind_weight.m im_deform_field_to_sparse_mat_ind_weight
bmTraj2SparseMat src/gridding123/m/bmTraj2SparseMat.m traj_to_sparse_mat

monalisa.image

MATLAB Upstream file Python Note
bmImCrope src/image123/bmImCrope.m im_crop spelling
bmImDeform src/image123/bmImDeform.m im_deform
bmImDeformField_hardThresholding2 src/image2/m/bmImDeformField_hardThresholding2.m im_deform_field_hard_thresholding2
bmImDeformT src/image123/bmImDeformT.m im_deform_t
bmImDim src/imageN/bmImDim.m im_dim
bmImLaplaceEquationSolver src/image123/bmImLaplaceEquationSolver.m im_laplace_equation_solver
bmImLaplaceIterator src/image123/bmImLaplaceIterator.m im_laplace_iterator
bmImLaplacian src/image123/bmImLaplacian.m im_laplacian
bmImPseudoDiffusion src/image123/bmImPseudoDiffusion.m im_pseudo_diffusion
bmImPseudoDiffusion_inMask src/image123/bmImPseudoDiffusion_inMask.m im_pseudo_diffusion_in_mask
bmImReshape src/image123/bmImReshape.m im_reshape
bmImResize src/image123/bmImResize.m im_resize
bmImZeroFill src/image123/bmImZeroFill.m im_zero_fill
bmMIP src/imageN/bmMIP.m mip
bmRMS src/imageN/bmRMS.m rms

monalisa.io

MATLAB Upstream file Python Note
bmCheckDir src/readWrite/bmCheckDir.m check_dir
checkMetadataInteractive src/rawDataReader/checkMetadataInteractive.m check_metadata_interactive
correctMetadataInteractive src/rawDataReader/correctMetadataInteractive.m correct_metadata_interactive
bmCreateDir src/readWrite/bmCreateDir.m create_dir
createRawDataReader src/rawDataReader/createRawDataReader.m create_raw_data_reader
dhIsmrmrdReadMetaData src/rawDataReader/ismrmrd/dhIsmrmrdReadMetaData.m ismrmrd_read_meta_data
dhIsmrmrdReadRawData src/rawDataReader/ismrmrd/dhIsmrmrdReadRawData.m ismrmrd_read_raw_data
mleIsmrmrdReader src/rawDataReader/ismrmrd/mleIsmrmrdReader.m IsmrmrdReader
bmMriAcquisitionParam src/mriRecon/class/bmMriAcquisitionParam.m MriAcquisitionParam
mleRawDataReader src/rawDataReader/mleRawDataReader.m RawDataReader
dhSiemensReadMetaData src/rawDataReader/siemens/dhSiemensReadMetaData.m siemens_read_meta_data
bmSiemensReadRawData src/rawDataReader/siemens/bmSiemensReadRawData.m siemens_read_raw_data
mleSiemensReader src/rawDataReader/siemens/mleSiemensReader.m SiemensReader

monalisa.optim

MATLAB Upstream file Python Note
bmAxpy src/mathOp/bmAxpy.m axpy
bmBackGradient src/optim/bmBackGradient.m back_gradient
bmBackGradient_n src/optim/bmBackGradient_n.m back_gradient_n
bmBackGradient_nT src/optim/bmBackGradient_nT.m back_gradient_n_t
bmBackGradientT src/optim/bmBackGradientT.m back_gradient_t
bmEuclideProd src/mathOp/bmEuclideProd.m euclidean_prod spelling
bmInitialWitnessInfo src/optim/bmInitialWitnessInfo.m initial_witness_info
bmMinus src/mathOp/bmMinus.m minus
bmMult src/mathOp/bmMult.m mult
bmPlus src/mathOp/bmPlus.m plus
bmProx_oneNorm src/linSpace/bmProx_oneNorm.m prox_one_norm
bmSquaredNorm src/mathOp/bmSquaredNorm.m squared_norm
bmWitnessInfo src/optim/bmWitnessInfo.m WitnessInfo
bmY_norm src/linSpace/bmY_norm.m y_norm
bmY_ve_reshape src/linSpace/bmY_ve_reshape.m y_ve_reshape

monalisa.recon

MATLAB Upstream file Python Note
bmMathilda src/fourier123/map_function/nonCartesian/bmMathilda.m mathilda
bmNasha src/fourier123/map_function/nonCartesian/bmNasha.m nasha
bmSensa src/fourier123/solver_function/imDim/nonCartesian/bmSensa.m sensa
bmSensitivaMorphosia_chain src/fourier123/solver_function/imDim_morphosia/nonCartesian/bmSensitivaMorphosia_chain.m sensitiva_morphosia_chain
bmSleva src/fourier123/solver_function/imDim/nonCartesian/bmSleva.m sleva
bmSteva src/fourier123/solver_function/imDim/nonCartesian/bmSteva.m steva
bmTevaDuoMorphosia_chain src/fourier123/solver_function/imDim_morphosia/nonCartesian/bmTevaDuoMorphosia_chain.m teva_duo_morphosia_chain
bmTevaMorphosia_chain src/fourier123/solver_function/imDim_morphosia/nonCartesian/bmTevaMorphosia_chain.m teva_morphosia_chain

monalisa.registration

MATLAB Upstream file Python Note
bmImDeformFieldChain_imRegDemons23 src/imReg/m/bmImDeformFieldChain_imRegDemons23.m im_deform_field_chain_im_reg_demons23
bmImDeformFieldSheet_imRegDemons23 src/imReg/m/bmImDeformFieldSheet_imRegDemons23.m im_deform_field_sheet_im_reg_demons23

monalisa.sparse

MATLAB Upstream file Python Note
bmSparseMat_blockPartition src/sparseMat/m/bmSparseMat_blockPartition.m sparse_mat_block_partition
bmSparseMat_completeMatlabSparse src/sparseMat/m/bmSparseMat_completeMatlabSparse.m sparse_mat_complete_matlab_sparse
bmSparseMat_matlabSparse2bmSparseMat src/sparseMat/m/bmSparseMat_matlabSparse2bmSparseMat.m sparse_mat_from_matlab_sparse shorter, without the inner bm
bmSparseMat_r_nJump2index src/sparseMat/m/bmSparseMat_r_nJump2index.m sparse_mat_r_n_jump_to_index
bmSparseMat_vec src/sparseMat/m/bmSparseMat_vec.m sparse_mat_vec
bmSparseMat src/sparseMat/m/bmSparseMat.m SparseMat

monalisa.trajectory

MATLAB Upstream file Python Note
bmLowRes src/mriRecon/function/bmLowRes.m low_res
bmPhyllotaxisAngle3 src/traj3/bmPhyllotaxisAngle3.m phyllotaxis_angle3
bmTraj src/trajN/bmTraj.m traj
bmTraj_formatTraj src/traj123/bmTraj_formatTraj.m traj_format word repeated
bmTraj_fullRadial3_phyllotaxis_lineAssym2 src/traj3/bmTraj_fullRadial3_phyllotaxis_lineAssym2.m traj_full_radial3_phyllotaxis_line_assym2
bmTraj_N_u_dK_u src/traj123/bmTraj_N_u_dK_u.m traj_grid returns N_u and dK_u, see the two lines above
bmTraj_N_u src/traj123/bmTraj_N_u.m traj_grid_size N_u (grid size) and n_u (image size) differ only by case
bmTraj_dK_u src/traj123/bmTraj_dK_u.m traj_grid_step dK_u (grid step) would become d_k_u
bmTraj_lineDirection src/traj123/bmTraj_lineDirection.m traj_line_direction
bmTraj_lineReshape src/traj123/bmTraj_lineReshape.m traj_line_reshape
bmTraj_nLine src/traj123/bmTraj_nLine.m traj_n_line
bmTraj_norm src/traj123/bmTraj_norm.m traj_norm
bmTraj_squaredNorm src/traj123/bmTraj_squaredNorm.m traj_squared_norm

monalisa.util

MATLAB Upstream file Python Note
bmVarargin_N_u_dK_u src/varargin/bmVarargin_N_u_dK_u.m default_grid default N_u and dK_u (guessed from the trajectory)
bmVarargin_kernelType_nWin_kernelParam src/varargin/bmVarargin_kernelType_nWin_kernelParam.m default_kernel default kernelType, nWin and kernelParam
bmVarargin_sparseType src/varargin/bmVarargin_sparseType.m default_sparse_type default sparseType
bmTimeInSecond src/time/bmTimeInSecond.m time_in_second
bmVarargin src/varargin/bmVarargin.m varargin

Methods

MATLAB Python Classes
readMetaData read_meta_data RawDataReader, SiemensReader, IsmrmrdReader
readRawData read_raw_data RawDataReader, SiemensReader, IsmrmrdReader