### Install spec2nii Source: https://github.com/wtclarke/spec2nii/blob/master/README.md Standard installation commands for the spec2nii package. ```bash conda install -c conda-forge spec2nii ``` ```bash pip install spec2nii ``` ```bash pixi run spec2nii ... ``` -------------------------------- ### Install FSLeyes plugin Source: https://github.com/wtclarke/spec2nii/blob/master/README.md Commands to install the NIfTI-MRS plugin for FSLeyes. ```bash conda install -c conda-forge fsleyes-plugin-mrs ``` ```bash pip install fsleyes-plugin-mrs ``` -------------------------------- ### Manual Build and Upload Commands Source: https://github.com/wtclarke/spec2nii/blob/master/build_process.md Legacy commands for tagging, cleaning the workspace, building the package, and uploading to PyPI. ```bash git tag -m VX.X.X X.X.X git push github master --tags git clean -fdxn -e prototyping -e *.code-workspace git clean -fdx -e prototyping -e *.code-workspace pixi run build python -m twine upload dist/* ``` -------------------------------- ### Run local development tasks with Pixi Source: https://github.com/wtclarke/spec2nii/blob/master/README.md Commands for linting, testing, and building the project locally. ```bash pixi run lint pixi run test pixi run build ``` -------------------------------- ### Create Conda environment Source: https://github.com/wtclarke/spec2nii/blob/master/README.md Commands to set up a dedicated environment for spec2nii. ```bash conda create -c conda-forge -n my_env python=3.8 conda activate my_env conda install -c conda-forge spec2nii ``` -------------------------------- ### Dump NIfTI headers Source: https://github.com/wtclarke/spec2nii/blob/master/README.md Outputs the NIfTI headers and header extension to standard output. ```bash spec2nii dump FILE ``` -------------------------------- ### GE File Conversion Source: https://github.com/wtclarke/spec2nii/blob/master/README.md Converts GE p-files to NIfTI-MRS. ```bash spec2nii ge FILE ``` -------------------------------- ### Convert Varian format Source: https://github.com/wtclarke/spec2nii/blob/master/README.md Converts Varian fid directories to NIfTI-MRS. Requires a fid directory containing fid and procpar files. ```bash spec2nii varian /path/to/fid.fid ``` -------------------------------- ### Philips SPAR/SDAT Conversion Source: https://github.com/wtclarke/spec2nii/blob/master/README.md Converts Philips SPAR/SDAT files to NIfTI-MRS. ```bash spec2nii philips SDAT_FILE SPAR_FILE ``` -------------------------------- ### Philips Data/List Conversion Source: https://github.com/wtclarke/spec2nii/blob/master/README.md Converts Philips data/list files alongside a matching SPAR file. ```bash spec2nii philips_dl DATA_FILE LIST_FILE SPAR_FILE ``` -------------------------------- ### Calculate read and phase position offsets Source: https://github.com/wtclarke/spec2nii/blob/master/notes/siemens.md Calculates read and phase position offsets, applying a voxel shift if the matrix size is even. ```C++ m_d_read_pos = m_fov.getSliceOffCenterRO(); m_d_phase_pos = m_fov.getSliceOffCenterPE(); if( !( (n = rMrProt.getsSpecPara().getlFinalMatrixSizeRead()) % 2 ) ) m_d_read_pos += voxelshift_read * rMrProt.sliceSeries().front().readoutFOV() / (double) n; if( !( (n = rMrProt.getsSpecPara().getlFinalMatrixSizePhase()) % 2 ) m_d_phase_pos += voxelshift_phase * rMrProt.sliceSeries().front().phaseFOV() / (double) n; ``` -------------------------------- ### Convert Raw, jMRUI, and Text formats Source: https://github.com/wtclarke/spec2nii/blob/master/README.md Converts processed formats to NIfTI-MRS. The text format requires additional imaging frequency and bandwidth parameters. ```bash spec2nii raw -a AFFINE_FILE FILE ``` ```bash spec2nii jmrui -a AFFINE_FILE FILE ``` ```bash spec2nii text -a AFFINE_FILE -i imaging_freq -b bandwidth FILE ``` -------------------------------- ### Initialize voxel shift constants Source: https://github.com/wtclarke/spec2nii/blob/master/notes/siemens.md Sets the voxel shift constants to 0.5. ```C++ voxelshift_read = voxelshift_phase = voxelshift_slice = .5; ``` -------------------------------- ### Twix Format Conversion Source: https://github.com/wtclarke/spec2nii/blob/master/README.md Commands for interacting with Siemens Twix files, including viewing flags and specifying conversion parameters. ```bash spec2nii twix -v FILE ``` ```bash spec2nii twix -e image FILE ``` -------------------------------- ### Automatic Format Conversion Source: https://github.com/wtclarke/spec2nii/blob/master/README.md Attempts to automatically detect and convert Twix, RDA, SPAR/SDAT, GE p-file, or DICOM formats. ```bash spec2nii auto FILE ``` -------------------------------- ### Extract and Insert header extensions Source: https://github.com/wtclarke/spec2nii/blob/master/README.md Extracts the header extension to a JSON file or inserts a JSON file into the NIfTI-MRS header extension. ```bash spec2nii extract FILE ``` ```bash spec2nii insert FILE JSON_FILE ``` -------------------------------- ### Bruker Data Conversion Source: https://github.com/wtclarke/spec2nii/blob/master/README.md Converts Bruker 2dseq or fid files to NIfTI-MRS. ```bash spec2nii bruker -m 2DSEQ 2DSEQ_FILE_or_DIR ``` ```bash spec2nii bruker -m FID FID_FILE_or_DIR ``` -------------------------------- ### Siemens DICOM Conversion Source: https://github.com/wtclarke/spec2nii/blob/master/README.md Converts Siemens DICOM files or directories to NIfTI-MRS. ```bash spec2nii dicom DCM_FILE_or_DIR ``` -------------------------------- ### Calculate excitation phase for CSI sequence Source: https://github.com/wtclarke/spec2nii/blob/master/notes/siemens.md Calculates the excitation phase based on CSI address and FOV parameters. ```C++ excit_phase = 360. * ( - m_sh_1st_csi_addr[i] * m_d_read_pos / rMrProt.sliceSeries().front().readoutFOV() - m_sh_2nd_csi_addr[i] * m_d_phase_pos / rMrProt.sliceSeries().front().phaseFOV() - m_sh_3rd_csi_addr[i] * m_d_slice_pos / rMrProt.sliceSeries().front().thickness() ); ``` -------------------------------- ### UIH DICOM Conversion Source: https://github.com/wtclarke/spec2nii/blob/master/README.md Converts UIH DICOM files or directories to NIfTI-MRS. ```bash spec2nii uih DCM_FILE_or_DIR ``` -------------------------------- ### Siemens RDA Conversion Source: https://github.com/wtclarke/spec2nii/blob/master/README.md Converts Siemens RDA files, compatible with CSI and SVS data. ```bash spec2nii rda RDA_FILE ``` -------------------------------- ### Calculate position offset for VB reconstruction Source: https://github.com/wtclarke/spec2nii/blob/master/notes/siemens.md Calculates the position offset based on slice thickness and indices. ```C++ posOffset = sliceThickness * ( c3rd - .5 * n3rd + .5 ) ``` -------------------------------- ### Set 3D CSI position vector in VB reconstruction Source: https://github.com/wtclarke/spec2nii/blob/master/notes/siemens.md Calculates and sets the position vector for 3D CSI in VB reconstruction. ```C++ dPosVec_vector[0] = m_vfPosition_Sag[0] + m_vfNormal_Sag[0] * posOffset; dPosVec_vector[1] = m_vfPosition_Cor[0] + m_vfNormal_Cor[0] * posOffset; dPosVec_vector[2] = m_vfPosition_Tra[0] + m_vfNormal_Tra[0] * posOffset; pMiniHeader->setArrayValues("PosVec", dPosVec_vector); ``` -------------------------------- ### Set 2D CSI position vector in VB reconstruction Source: https://github.com/wtclarke/spec2nii/blob/master/notes/siemens.md Sets the position vector for 2D CSI in VB reconstruction. ```C++ dPosVec_vector[0] = m_vfPosition_Sag[cSlc]; dPosVec_vector[1] = m_vfPosition_Cor[cSlc]; dPosVec_vector[2] = m_vfPosition_Tra[cSlc]; pMiniHeader->setArrayValues("PosVec", dPosVec_vector); ``` -------------------------------- ### Anonymize NIfTI-MRS files Source: https://github.com/wtclarke/spec2nii/blob/master/README.md Removes sensitive header keys and user-defined private parameters from the NIfTI-MRS file. ```bash spec2nii anon FILE ``` -------------------------------- ### Check SliceLocation DICOM tag Source: https://github.com/wtclarke/spec2nii/blob/master/notes/siemens.md Calculates the dot product to verify the slice location. ```C++ dPosVec_vector[0] * dRowVec[0] + dPosVec_vector[1] * dRowVec[1] + ... ``` -------------------------------- ### Philips DICOM Conversion Source: https://github.com/wtclarke/spec2nii/blob/master/README.md Converts Philips classic or enhanced DICOM files or directories. ```bash spec2nii philips_dcm DCM_FILE_or_DIR ``` -------------------------------- ### Calculate slice position offset Source: https://github.com/wtclarke/spec2nii/blob/master/notes/siemens.md Calculates the slice position offset, applying a shift if the matrix size is even. ```C++ m_d_slice_pos = m_fov.getSliceShift(); if( !( (n = rMrProt.getsSpecPara().getlFinalMatrixSizeSlice()) % 2 ) ) m_d_slice_pos += voxelshift_slice * rMrProt.sliceSeries().front().thickness() / (double) n; ``` -------------------------------- ### Set SVS position vector in VB reconstruction Source: https://github.com/wtclarke/spec2nii/blob/master/notes/siemens.md Sets the position vector for SVS in VB reconstruction. ```C++ dPosVec_vector[0] = m_fVoI_Position_Sag; dPosVec_vector[1] = m_fVoI_Position_Cor; dPosVec_vector[2] = m_fVoI_Position_Tra; pMiniHeader->setArrayValues("PosVec", dPosVec_vector) ``` -------------------------------- ### Set position vector in VE reconstruction Source: https://github.com/wtclarke/spec2nii/blob/master/notes/siemens.md Sets the slice position vector for VE reconstruction. ```C++ sVec dPosVecPCS(m_dVoI_Position_Sag, m_dVoI_Position_Cor, m_dVoI_Position_Tra); SodaPointer->setSlicePosVec(dPosVecPCS) ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.