### Install Local Build of @niivue/dcm2niix Source: https://github.com/rordenlab/dcm2niix/blob/master/js/README.md Install a local build of the library by first navigating to the js directory, building the library, packing it, and then installing the generated .tgz file. ```bash # from dcm2niix root directory cd js npm run build npm pack # will create a .tgz file in the root directory npm install /path/to/niivue-dcm2niix.tgz ``` -------------------------------- ### Install Dependencies Manually Source: https://github.com/rordenlab/dcm2niix/blob/master/js/README.md Install project dependencies by navigating to the js directory and running npm install. ```bash # from dcm2niix root directory cd js npm install ``` -------------------------------- ### Install @niivue/dcm2niix via npm Source: https://github.com/rordenlab/dcm2niix/blob/master/js/README.md Install the library directly from npm using this command. ```bash npm install @niivue/dcm2niix ``` -------------------------------- ### Install Executables and Libraries Source: https://github.com/rordenlab/dcm2niix/blob/master/console/CMakeLists.txt Installs the built executables and libraries to their designated directories based on CMake's installation variables. ```cmake install(TARGETS ${PROGRAMS} DESTINATION ${CMAKE_INSTALL_BINDIR}) if(BUILD_DCM2NIIXFSLIB) install(TARGETS ${DCM2NIIXFSLIB} DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() ``` -------------------------------- ### Install Man Pages Source: https://github.com/rordenlab/dcm2niix/blob/master/docs/CMakeLists.txt Installs the generated man pages to the system's man directory. ```cmake install(DIRECTORY "${SPHINX_OUTPUT_DIR}/" DESTINATION "share/man/man1") ``` -------------------------------- ### Install dcm2niix with Pip Source: https://github.com/rordenlab/dcm2niix/blob/master/README.md Install dcm2niix on Linux, macOS, or Windows using pip. ```bash python -m pip install dcm2niix ``` -------------------------------- ### Compile dcm2niix with CMake Source: https://github.com/rordenlab/dcm2niix/blob/master/COMPILE.md Utilize cmake for complex builds. This example includes options for ZLIB, CharLS, and OpenJPEG support. Remove '--branch development' to use the stable release. ```bash git clone --branch development git@github.com:rordenlab/dcm2niix.git cd dcm2niix mkdir build && cd build cmake -DZLIB_IMPLEMENTATION=Cloudflare -DUSE_JPEGLS=ON -DUSE_OPENJPEG=ON .. make ``` -------------------------------- ### Install dcm2niix on Debian Linux Source: https://github.com/rordenlab/dcm2niix/blob/master/README.md Install dcm2niix on Debian-based Linux distributions using apt-get. ```bash sudo apt-get install dcm2niix ``` -------------------------------- ### Install dcm2niix with Homebrew (macOS) Source: https://github.com/rordenlab/dcm2niix/blob/master/README.md Install dcm2niix on macOS using the Homebrew package manager. ```bash brew install dcm2niix ``` -------------------------------- ### Advanced dcm2niix Command with Options Source: https://github.com/rordenlab/dcm2niix/blob/master/README.md An example of invoking dcm2niix with additional options for compression, custom filename formatting, and output directory specification. ```bash dcm2niix -z y -f %p_%t_%s -o /path/output /path/to/dicom/folder ``` -------------------------------- ### Get Help for extract_units.py Source: https://github.com/rordenlab/dcm2niix/blob/master/BIDS/README.md Run this command to display the help message for the extract_units.py script, detailing its usage and options. ```bash extract_units.py -h ``` -------------------------------- ### Build Library Manually Source: https://github.com/rordenlab/dcm2niix/blob/master/js/README.md Build the JavaScript library after installing dependencies manually. This command is run from the js directory. ```bash # from dcm2niix root directory cd js npm run build ``` -------------------------------- ### Install dcm2niix with MacPorts (macOS) Source: https://github.com/rordenlab/dcm2niix/blob/master/README.md Install dcm2niix on macOS using the MacPorts package manager. ```bash sudo port install dcm2niix ``` -------------------------------- ### dcm2niibatch Configuration File Example Source: https://github.com/rordenlab/dcm2niix/blob/master/docs/source/dcm2niibatch.md This YAML configuration file defines options and lists directories for batch conversion of DICOM files to NIfTI format using dcm2niibatch. Specify input directories, output directories, and desired output filenames. ```yaml Options: isGz: false isFlipY: false isVerbose: false isCreateBIDS: false isOnlySingleFile: false Files: - in_dir: /path/to/first/folder out_dir: /path/to/output/folder filename: dcemri - in_dir: /path/to/second/folder out_dir: /path/to/output/folder filename: fa3 ``` -------------------------------- ### Example dcm2niix BIDS Conversion with Hazardous Naming Source: https://github.com/rordenlab/dcm2niix/blob/master/BidsGuess/README.md Use the hazardous file naming argument (-f $h) with dcm2niix to create a minimal BIDS structure for validation. This example demonstrates creating a BIDS structure and then validating it using the bids-validator. ```bash cd ~ mkdir bids git clone git@github.com:neurolabusc/dcm_qa_pdt2.git dcm2niix -f %h -w 1 -i y -o ~/bids ~/dcm_qa_pdt2 bids-validator ~/bids ``` -------------------------------- ### Build dcm2niix with CMake Source: https://github.com/rordenlab/dcm2niix/blob/master/README.md Use this command to build the full-featured dcm2niix version with cmake. Ensure cmake and pkg-config are installed. This method supports JPEG2000 and JPEG-LS formats. ```bash git clone https://github.com/rordenlab/dcm2niix.git cd dcm2niix mkdir build && cd build cmake -DZLIB_IMPLEMENTATION=Cloudflare -DUSE_JPEGLS=ON -DUSE_OPENJPEG=ON .. make ``` -------------------------------- ### Successful dcm2niix Conversion and Exit Status Check Source: https://github.com/rordenlab/dcm2niix/blob/master/ERRORS.md This example demonstrates a successful dcm2niix conversion and how to check its exit status in a shell script. A return value of 0 indicates success. ```bash >dcm2niix ~/dcm Chris Rorden's dcm2niiX version v1.0.20200331 Clang11.0.0 (64-bit MacOS) Found 2 DICOM file(s) Convert 2 DICOM as ~/dcm/dcm_ax_asc_6 (64x64x35x2) Conversion required 0.015866 seconds (0.012676 for core code). >echo $? 0 ``` -------------------------------- ### Build OpenJPEG 2.1.0 Static Libraries Source: https://github.com/rordenlab/dcm2niix/blob/master/COMPILE.md Build static libraries for OpenJPEG 2.1.0 with the necessary flag for dcm2niix compatibility. Ensure OpenJPEG is installed via your system's package manager or built from source. ```bash cmake -DBUILD_SHARED_LIBS:bool=off -DOPJ_DISABLE_TPSOT_FIX:bool=on . make sudo make install ``` -------------------------------- ### MINGW Build with Static Libgcc and ZLib Disabled Source: https://github.com/rordenlab/dcm2niix/blob/master/COMPILE.md Compile dcm2niix for MinGW on Windows, disabling ZLIB support and including static libgcc libraries. This ensures the executable can run on systems without MinGW installed. ```bash g++ -O3 -s -DmyDisableOpenJPEG -DmyDisableZLib -I. main_console.cpp nii_dicom.cpp nifti1_io_core.cpp nii_ortho.cpp nii_dicom_batch.cpp jpg_0XC3.cpp ujpeg.cpp nii_foreign.cpp -o dcm2niix -static-libgcc ``` -------------------------------- ### Run Demo Source: https://github.com/rordenlab/dcm2niix/blob/master/js/README.md Execute a simple demo to test the functionality of the @niivue/dcm2niix library. ```bash npm run demo ``` -------------------------------- ### Simple Build with Make Source: https://github.com/rordenlab/dcm2niix/blob/master/CLAUDE.md This command performs a simple build of dcm2niix using Make, without optional decoders. Navigate to the 'console' directory first. ```bash cd console && make ``` -------------------------------- ### Quick Build with CMake Source: https://github.com/rordenlab/dcm2niix/blob/master/CLAUDE.md Use this command to perform a quick build of dcm2niix with full features enabled via CMake. Ensure you are in the project's root directory. ```bash mkdir build && cd build cmake -DZLIB_IMPLEMENTATION=Cloudflare -DUSE_JPEGLS=ON -DUSE_OPENJPEG=ON .. make ``` -------------------------------- ### Install dcm2niix with Conda Source: https://github.com/rordenlab/dcm2niix/blob/master/README.md Install dcm2niix on Linux, macOS, or Windows using Conda from the conda-forge channel. ```bash conda install -c conda-forge dcm2niix ``` -------------------------------- ### dcm2niix Help Command Source: https://github.com/rordenlab/dcm2niix/blob/master/README.md Use this command to display all available options and help information for dcm2niix. ```bash dcm2niix -h ``` -------------------------------- ### Example DICOM Tags and Calculations for GE EPI Data Source: https://github.com/rordenlab/dcm2niix/blob/master/GE/README.md An example demonstrating the extraction of relevant DICOM tags and the step-by-step calculation of TotalReadoutTime for a specific GE EPI scan. ```plaintext (0018,1310) US 128\0\0\128 # 8, 4 AcquisitionMatrix (0018,0022) CS [SAT_GEMS\MP_GEMS\EPI_GEMS\ACC_GEMS\PFF\FS] # 42, 6 ScanOptions (0043,102c) SS 636 # 2, 1 EchoSpacing (0043,1083) DS [0.666667\1] # 10, 2 Acceleration ``` ```plaintext ASSET_R_factor = 1.5 (reciprocal of 1st value in "0043,1083") AcquisitionMatrixPE = 128 (3rd or 4th value in "0018,1310" (whichever is non-zero)) EchoSpacingMicroSecondsGE = 636 (us) Round_factor = 4 (because "0018,0022" contains "PFF"; otherwise = 2) NotPhysicalNumberOfAcquiredPELinesGE = (ceil((1/4) * 128 / 1.5) * 4) = 88 NotPhysicalTotalReadOutTimeGE = (88 - 1) * 636 * 1e-6 = 0.055332 (sec) EffectiveEchoSpacing = 0.055332 / (128 - 1) = 0.435685e-3 (sec) TotalReadoutTime = 0.435685e-3 * (128 - 1) = 0.055332 (sec) ``` -------------------------------- ### Compile dcm2niix with Make Source: https://github.com/rordenlab/dcm2niix/blob/master/COMPILE.md Use these commands to download and compile dcm2niix using the make build system. Remove '--branch development' to use the stable release. ```bash git clone --branch development git@github.com:rordenlab/dcm2niix.git cd dcm2niix/console make ``` -------------------------------- ### Configure Sphinx Directories Source: https://github.com/rordenlab/dcm2niix/blob/master/docs/CMakeLists.txt Sets up the necessary directories for Sphinx, including source, build, cache, and output directories. ```cmake set(SPHINX_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/source") set(SPHINX_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/build") set(SPHINX_CACHE_DIR "${CMAKE_CURRENT_BINARY_DIR}/doctrees") set(SPHINX_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/man") ``` -------------------------------- ### Compile with Debugging Symbols using CMake Source: https://github.com/rordenlab/dcm2niix/blob/master/COMPILE.md Use this command to compile dcm2niix with debugging symbols enabled. Ensure CMake is installed and configured. ```bash cmake -DUSE_OPENJPEG=ON -DCMAKE_CXX_FLAGS=-g .. && make ``` -------------------------------- ### Configure Zlib Implementation Source: https://github.com/rordenlab/dcm2niix/blob/master/console/CMakeLists.txt Allows selection of zlib implementation (Miniz, System, Custom) and configures build settings accordingly. If a custom zlib is chosen, ZLIB_ROOT must be specified. ```cmake set(ZLIB_IMPLEMENTATION "Miniz" CACHE STRING "Choose zlib implementation.") set_property(CACHE ZLIB_IMPLEMENTATION PROPERTY STRINGS "Miniz;System;Custom") if(NOT ${ZLIB_IMPLEMENTATION} STREQUAL "Miniz") if(NOT ${ZLIB_IMPLEMENTATION} STREQUAL "System") set(ZLIB_ROOT ${ZLIB_ROOT} CACHE PATH "Specify custom zlib root directory.") if(NOT ZLIB_ROOT) message(FATAL_ERROR "ZLIB_ROOT needs to be set to locate custom zlib!") endif() endif() find_package(ZLIB REQUIRED) add_definitions(-DmyDisableMiniZ) target_include_directories(dcm2niix PRIVATE ${ZLIB_INCLUDE_DIRS}) target_link_libraries(dcm2niix ${ZLIB_LIBRARIES}) endif() ``` -------------------------------- ### Initialize and Convert DICOM Files in Browser Source: https://github.com/rordenlab/dcm2niix/blob/master/js/README.md Instantiate the Dcm2niix class, initialize the WASM module, and then process a list of files from an HTML input element. Ensure the input element has 'webkitdirectory' and 'multiple' attributes. The result is a list of browser File Objects. ```javascript // assuming you have an html input element to get directories. // import { Dcm2niix } from '@niivue/dcm2niix'; // use the jpeg import to load jpegls and j2k build of dcm2niix // import { Dcm2niix } from '@niivue/dcm2niix/jpeg'; const dcm2niix = new Dcm2niix(); // call the init() method to load the wasm before processing any data await dcm2niix.init(); // fileInput is the id of the input element with options: webkitdirectory and multiple fileInput.addEventListener('change', async (event) => { inputFileList = event.target.files; }); // inputFileList is the value from the input element with options: webkitdirectory and multiple const resultFileList = await dcm2niix.input(inputFileList).run() console.log(resultFileList); // Do something with the resultFileList (normal browser File Objects) // perhaps view them with @niivue/niivue :) ``` -------------------------------- ### Custom Diffusion Directions File Format Source: https://github.com/rordenlab/dcm2niix/blob/master/Philips/README.md This is an example of a custom text file format for specifying diffusion directions and b-values, compatible with Philips FiberTrak. ```text MyCustomDirections 0.000 0.000 1.000 0 0.049 -0.919 -0.391 1000 0.726 0.301 -0.618 1000 -0.683 0.255 -0.684 1000 0.845 -0.502 -0.186 1000 -0.73 -0.619 -0.288 1000 -0.051 0.039 0.998 1000 -0.018 0.871 -0.491 1000 -0.444 0.494 0.747 1000 -0.989 -0.086 -0.116 1000 1.000 0.000 0.000 0 ``` -------------------------------- ### Process Selected Files with dcm2niix Source: https://github.com/rordenlab/dcm2niix/blob/master/js/index.html Handles file selection via an input element and processes the selected files using dcm2niix WASM upon a button click. It initializes the WASM module, applies a compression option ('z' for gzip), runs the conversion, and creates download links for the output files. Includes basic error handling and performance timing. ```javascript let selectedFiles = null; fileInput.addEventListener('change', async (event) => { selectedFiles = event.target.files; console.log(selectedFiles); }); processButton.addEventListener('click', async () => { status.textContent = 'Processing...'; try { console.log('Initializing dcm2niix wasm...'); const dcm2niix = new Dcm2niix(); await dcm2niix.init(); console.log('dcm2niix wasm initialized.'); const t0 = performance.now(); const inputFileList = selectedFiles const resultFileList = await dcm2niix.input(inputFileList).z('y').run() console.log(resultFileList); const t1 = performance.now(); console.log("dcm2niix wasm took " + (t1 - t0) + " milliseconds.") resultFileList.forEach((resultFile, index) => { let url = URL.createObjectURL(resultFile); const downloadLink = document.createElement('a'); downloadLink.href = url; downloadLink.download = resultFile.name; downloadLink.textContent = `Download ${resultFile.name}`; downloadLink.style.display = 'block'; document.body.appendChild(downloadLink); }); status.textContent = 'Processing complete!'; } catch (error) { console.error('Processing failed:', error); status.textContent = 'Processing failed. Please check the console for details.'; } finally { processButton.disabled = false; } }); ``` -------------------------------- ### Compile dcm2niix with Jasper and libjpeg Source: https://github.com/rordenlab/dcm2niix/blob/master/COMPILE.md Compile dcm2niix with JPEG2000 decompression support using the Jasper library and libjpeg. This command assumes Jasper and libjpeg are installed. ```bash g++ -O3 -DmyDisableOpenJPEG -DmyEnableJasper -I. main_console.cpp nii_dicom.cpp nifti1_io_core.cpp nii_ortho.cpp nii_dicom_batch.cpp jpg_0XC3.cpp ujpeg.cpp nii_foreign.cpp -s -o dcm2niix -ljasper -ljpeg ``` -------------------------------- ### Compile dcm2niix with OpenJPEG (Default) Source: https://github.com/rordenlab/dcm2niix/blob/master/COMPILE.md Compile dcm2niix with JPEG2000 decompression support using the OpenJPEG library. This command assumes OpenJPEG is installed and discoverable by the compiler. ```bash g++ -O3 -I. main_console.cpp nii_dicom.cpp nifti1_io_core.cpp nii_ortho.cpp nii_dicom_batch.cpp jpg_0XC3.cpp ujpeg.cpp nii_foreign.cpp -o dcm2niix -lopenjp2 ``` -------------------------------- ### Run Batch Conversion with dcm2niibatch Source: https://github.com/rordenlab/dcm2niix/blob/master/BATCH.md Execute the batch conversion process by providing the path to your YAML configuration file. Ensure the configuration file specifies all necessary options and file paths for the conversion. ```bash dcm2niibatch batch_config.yml ``` -------------------------------- ### Validate Universal Binary Architecture on macOS Source: https://github.com/rordenlab/dcm2niix/blob/master/COMPILE.md Use the 'file' command to verify that the compiled dcm2niix executable supports the intended architectures. ```bash file ./dcm2niix ``` -------------------------------- ### Philips DICOM Tag Examples Source: https://github.com/rordenlab/dcm2niix/blob/master/Philips/README.md Sample DICOM tags from a Philips enhanced image illustrating the detection of DIRECTIONAL, ISOTROPIC, and NONE image types using Diffusion Directionality and Dimension Index Values. ```dicom (0018,9075) CS [DIRECTIONAL] (0018,9089) FD 1\0\0 (0018,9087) FD 1000 (0020,9157) UL 1\1\2\32 ``` ```dicom (0018,9075) CS [ISOTROPIC] (0018,9087) FD 1000 (0020,9157) UL 1\2\1\33 ``` ```dicom (0018,9075) CS [NONE] (0018,9087) FD 0 (0020,9157) UL 1\1\2\33 ``` -------------------------------- ### Enable Jasper Support Source: https://github.com/rordenlab/dcm2niix/blob/master/console/CMakeLists.txt Finds and links against the Jasper library if USE_JASPER is enabled. ```cmake if(USE_JASPER) find_package(Jasper REQUIRED) add_definitions(-DmyEnableJasper) target_include_directories(dcm2niix PRIVATE ${JASPER_INCLUDE_DIR}) target_link_libraries(dcm2niix ${JASPER_LIBRARIES}) endif() ``` -------------------------------- ### Canon V6.1 DICOM DWI Example (Classic/Enhanced) Source: https://github.com/rordenlab/dcm2niix/blob/master/Canon/README.md Shows the diffusion properties reported in Canon DICOM images from software version 6.1, where both DiffusionBValue and DiffusionGradientOrientation are in public tags for both classic and enhanced DICOMs. ```text (0018,9087) FD 1500 # 8, 1 DiffusionBValue (0018,9089) FD 0.29387456178665161\-0.95365142822265625\-0.064700603485107422 # 24, 3 DiffusionGradientOrientation ``` -------------------------------- ### BidsGuess JSON Output Example Source: https://github.com/rordenlab/dcm2niix/blob/master/BidsGuess/README.md Inspect the JSON sidecar files generated by dcm2niix to see the 'BidsGuess' field, which suggests likely BIDS data types and entities. This output is for understanding the feature's suggestions. ```json "BidsGuess": ["anat","_acq-tse2_run-3_PDw"], "BidsGuess": ["anat","_acq-tse2_run-3_T2w"] ``` -------------------------------- ### Create Universal Binaries for macOS Source: https://github.com/rordenlab/dcm2niix/blob/master/COMPILE.md Compile dcm2niix for different architectures on macOS and combine them into a universal binary using lipo. This allows the executable to run on PowerPC, Intel, and Apple Silicon (M1) CPUs. ```bash g++ -O3 -DmyDisableOpenJPEG -I. main_console.cpp nii_dicom.cpp nifti1_io_core.cpp nii_ortho.cpp nii_dicom_batch.cpp jpg_0XC3.cpp ujpeg.cpp nii_foreign.cpp -arch i386 -o dcm2niix32 g++ -O3 -I. main_console.cpp nii_dicom.cpp jpg_0XC3.cpp ujpeg.cpp nifti1_io_core.cpp nii_ortho.cpp nii_dicom_batch.cpp nii_foreign.cpp -o dcm2niix -DmyDisableOpenJPEG -Wl,-stack_size -Wl,3f00000 g++ -O3 -DmyDisableOpenJPEG -I. main_console.cpp nii_dicom.cpp nifti1_io_core.cpp nii_ortho.cpp nii_dicom_batch.cpp jpg_0XC3.cpp ujpeg.cpp nii_foreign.cpp -o dcm2niix64 g++ -O3 -I. main_console.cpp nii_dicom.cpp jpg_0XC3.cpp ujpeg.cpp nifti1_io_core.cpp nii_ortho.cpp nii_dicom_batch.cpp nii_foreign.cpp -o dcm2niix -DmyDisableOpenJPEG -Wl,-stack_size -Wl,3f00000 lipo -create dcm2niix32 dcm2niix64 -o dcm2niix ``` -------------------------------- ### ZLIB Build with MiniZ Disabled Source: https://github.com/rordenlab/dcm2niix/blob/master/COMPILE.md Compile dcm2niix using g++ with ZLIB support and MiniZ disabled. This command links against the ZLIB library and specifies include paths. ```bash g++ -O3 -DmyDisableOpenJPEG -I. main_console.cpp nii_dicom.cpp nifti1_io_core.cpp nii_ortho.cpp nii_dicom_batch.cpp jpg_0XC3.cpp ujpeg.cpp nii_foreign.cpp -o dcm2niix -lz -DmyDisableMiniZ ``` -------------------------------- ### Canon Classic DICOM DWI Example (V6.0) Source: https://github.com/rordenlab/dcm2niix/blob/master/Canon/README.md Illustrates the diffusion properties reported in Canon classic DICOM images from software version 6.0, where DiffusionBValue is in a public tag and gradient orientation is in the Image Comments tag. ```text (0018,9087) FD 1500 # 8, 1 DiffusionBValue (0020,4000) LT [b=1500(0.445,0.000,0.895)] # 26, 1 ImageComments ``` -------------------------------- ### Enable JNIfTI Support Source: https://github.com/rordenlab/dcm2niix/blob/master/console/CMakeLists.txt Adds definitions and source files for JNIfTI support if the USE_JNIFTI option is enabled. ```cmake option(USE_JNIFTI "Build with JNIfTI support" ON) if(USE_JNIFTI) add_definitions(-DmyEnableJNIFTI) set(DCM2NIIX_SRCS ${DCM2NIIX_SRCS} cJSON.cpp base64.cpp) endif() ``` -------------------------------- ### Customizing dcm2niix Output File Names Source: https://github.com/rordenlab/dcm2niix/blob/master/PARREC/README.md Use the -f argument with dcm2niix to specify a custom output file name format. The example shows how to use '%p' (protocol name) and '%s' (series number) for Philips PAR/REC files. Refer to the documentation for a full list of available format specifiers. ```bash dcm2niix -f %p_%s ~/myParDir ``` -------------------------------- ### ZLIB Build with OpenJPEG Disabled Source: https://github.com/rordenlab/dcm2niix/blob/master/COMPILE.md Compile dcm2niix using g++ with ZLIB support and OpenJPEG disabled. This command also sets a larger stack size. ```bash g++ -O3 -I. main_console.cpp nii_dicom.cpp jpg_0XC3.cpp ujpeg.cpp nifti1_io_core.cpp nii_ortho.cpp nii_dicom_batch.cpp nii_foreign.cpp -o dcm2niix -DmyDisableOpenJPEG -Wl,-stack_size -Wl,3f00000 ``` -------------------------------- ### Compile dcm2niix with CharLS v1 (C++03) Source: https://github.com/rordenlab/dcm2niix/blob/master/console/charls/README.md Compile dcm2niix with CharLS version 1 support. Requires C++03 and the `myEnableJPEGLS1` flag. This version is not included with dcm2niix and must be downloaded separately. OpenJPEG support is disabled. ```bash g++ -I. -std=c++03 -DmyEnableJPEGLS1 charls1/header.cpp charls1/jpegls.cpp charls1/jpegmarkersegment.cpp charls1/interface.cpp charls1/jpegstreamwriter.cpp main_console.cpp nii_foreign.cpp nii_dicom.cpp jpg_0XC3.cpp ujpeg.cpp nifti1_io_core.cpp nii_ortho.cpp nii_dicom_batch.cpp -o dcm2niix -DmyDisableOpenJPEG ```