LIFEx reads DICOM images locally or over a network using a DICOM browser and includes a powerful 3D reconstruction-based slice viewer. Volume of interest (VOI) can be either imported from previously created files or drawn and manipulated using LIFEx. Results are exported in Excel format files. LIFEx runs on Windows, MacOs and Linux. It is distributed with examples and includes a tutorial. User support is offered. Users can optionally contribute to the gathering of index values in different tissue types and different images as a public data bank of reference values is currently being built and integrated to the software for assisting the users with the interpretation of their results.

LIFEx7.2.0_announcement.pdf

Download here : Download

What has been added, changed or updated in this new release?
Here is a list of the most significant additions, changes or updates in LIFEx v7.2.0:

Main:
- added: script DcmToNii named ScriptLoadingSavingOfSeries to convert DICOM files into Nifti files.
- added: reading of the RT-Struct with the DICOM browser
- added: saving of histogram data in .csv format
- improved: DICOM network communication and DICOM browser have been completely rewritten
- changed: the Apache Log4j Security Vulnerabilities are fixed (the library does not exist anymore)

Main (Series):
- changed: SUV is now not required for Nuclear Medicine images (removal of SUV conversion error warning)
- added: SUV property form to change SUV calculation values
- added: possible loading of more than one series (in nifti format) using a single "drag and drop"
- changed: inverse order of eye-buttons of series in MIP frame to have the same order as all other frames
- added: de-synchronization of the MIP colour palette versus 2D colour palettes
- added: Warm Metal, Red, Green, Blue color map on series
- added: decomposition of the RGB channels for the ultrasound modality (automatic loading of the R, G, B series in addition to the main series)
- added: display of the colorPalette written in the filename (of nifti files) when loading series
- added: tunable W/L on series
- added: new setting of image interpolation methods (in common setting): NO_INTERPLATION, BSPLINE2, BSPLINE3, BSPLINE4, BSPLINE5 (only QUINTIC_LAGRANGIAN method before)
- changed: adding new series no longer changes the zoom and the current position of the series that is already loaded

Main (ROI):
 fixed issue: affecting subtract ROI
- added: uint8 format in nifti ROI saving
- changed : naming of SaveAllInAll into Save-S (separate files), and SaveAllInOne into Save-M (merge Roi in one file)
- fixed issue: display of sort box at start if sort is already activated (saved in session file)
- fixed issue: affecting Nestle threshold when all background voxels were greater than 2.5 SUV
- added: new setting of ROI interpolation methods (in common setting): NO_INTERPLATION, BSPLINE2, BSPLINE3, BSPLINE4, BSPLINE5 (only QUINTIC_LAGRANGIAN method before)
- added: Hausdorff Distance feature in ROI Compare tools
- removed: sum feature (in display ROI box) : feature not necessary (and without meaning)
- fixed issue: correct ROI drawing even for fast translations of the mouse (circle2D, circle3D ROI)

Texture protocol:
- added: new GUI for management of texture local (map) results
- added: saving textural maps as 'OT' modality in DICOM format is now available
- fixed issue on some initialization of Local Map creation
- added: line LIFEx.cluster=false in texture-check script to disable the analysis of the number of clusters in ROIs
- changed: in the result .csv file, split separation between "information/parameters" and "results" are more clearly defined

Texture protocol - GLCM matrix:
- fixed issue: result = 1 for voxels excluded from the calculation of GLCM_Correlation
 changed: reduced processing time for GLCM map (time divided by 20)
- changed: name of GLCM_EntropyLog10 feature becomes GLCM_JointEntropyLog10(IBSI_NoPresent) feature
- changed: name of GLCM_EntropyLog2 feature becomes GLCM_JointEntropyLog2(IBSI_TU9B) feature
- changed: name of GLCM_Energy becomes GLCM_AngularSecondMoment(IBSI_8ZQL) feature
- changed: name of GLCM_Homogeneity becomes GLCM_InverseDifferenceMoment(IBSI_WF0Z) feature
- added: GLCM_JointMaximum(IBSI_GYBY) feature
- added: GLCM_JointAverage(IBSI_60VM) feature
- added: GLCM_JointVariance(IBSI_UR99) feature
- added: GLCM_DifferenceAverage(IBSI_TF7R) feature
- added: GLCM_DifferenceVariance(IBSI_D3YU) feature
- added: GLCM_DifferenceEntropy(IBSI_NTRS) feature
- added: GLCM_SumAverage(IBSI_ZGXS) feature
- added: GLCM_SumVariance(IBSI_OEEB) feature
- added: GLCM_SumEntropy(IBSI_P6QZ) feature
- added: GLCM_InverseDifference(IBSI_IB1Z) feature
- added: GLCM_NormalisedInverseDifference(IBSI_NDRX) feature
- added: GLCM_NormalisedInverseDifferenceMoment(IBSI_1QCO) feature
- added: GLCM_InverseVariance(IBSI_E8JP) feature
- added: GLCM_Autocorrelation(IBSI_QWB0) feature
- added: GLCM_ClusterTendency(IBSI_DG8W) feature
- added: GLCM_ClusterShade(IBSI_7NFM) feature
- added: GLCM_ClusterProminence(IBSI_AE86) feature

Texture protocol - CONVENTIONAL/DISCRETIZED
- changed CONVENTIONAL_* term by INTENSITY-BASED_*
- changed DISCRETIZED_* term by INTENSITY-HISTOGRAM_*
- changed: reduced processing time for RIM feature (time divided by 50)
- changed: name of_meanValue feature becomes _meanIntensity(IBSI_Q4LE) feature
- changed: name of_stdValue becomes _IntensityStandardDeviation(IBSI_NoRef) feature
- changed: name of_Skewness becomes _IntensitySkewness(IBSI_KE2A) feature
- changed: name of_excessKurtosis becomes _ExcessIntensityKurtosis(IBSI_IPH6) feature
- changed: name of_Kurtosis becomes _IntensityKurtosis(IBSI_NoRef) feature
- changed: name of_minValue becomes _MinimumIntensity(IBSI_1GSF) feature
- changed: name of_maxValue becomes _MaximumIntensity(IBSI_84IY) feature
- changed: name of_Q1, Q2, Q3 pertentil becomes _P25, P50, P75 features
- changed: name of Q1, Q2, Q3 pertentil becomes _P25, P50, P75 features
- fixed issue on _GlobalIntensityPeak*
- changed:_excessKurtosis becomes _Kurtosis
- deleted:_excessKurtosis
- added: _P10(IBSI_QG58) feature
- added: _P90(IBSI_8DWT) feature
- added: _IntensityRange(IBSI_2OJQ) feature
- added: _IntensityBasedMeanAbsoluteDeviation(IBSI_4FUA) feature
- added: _IntensityBasedRobustMeanAbsoluteDeviation(IBSI_1128) feature
- added: _IntensityVariance(IBSI_ECT3) feature
- added: _MedianIntensity(IBSI_Y12H) feature
- added: _IntensityBasedCoefficientOfVariation(IBSI_7TET) feature
- added: _IntensityBasedQuartileCoefficientOfDispersion(IBSI_9S40) feature
- added: _IntensityBasedEnergy(IBSI_N8CA) feature
- added: _RootMeanSquareIntensity(IBSI_5ZWQ) feature

Texture protocol - LOCAL-INTENSITY-BASED
- added: LOCAL-INTENSITY-BASED_LocalIntensityPeak1mL(IBSI_VJGA) feature
- changed: name of CONVENTIONAL_SUVPeakDiscretizedVolumeSought* becomes LOCAL-INTENSITY-BASED_GlobalIntensityPeakDiscretizedVolumeSought*(IBSI_NoPresent)
- changed: name of CONVENTIONAL_SUVpeak* becomes LOCAL-INTENSITY-BASED_GlobalIntensityPeak*(IBSI_0F91)

Texture protocol - LOCAL-INTENSITY-HISTOGRAM
- added: LOCAL-INTENSITY-HISTOGRAM_LocalIntensityPeak1mL(IBSI_VJGA) feature
- changed: name of DISCRETIZED_SUVPeakDiscretizedVolumeSought* becomes LOCAL-INTENSITY-HISTOGRAM_GlobalIntensityPeakDiscretizedVolumeSought*(IBSI_NoPresent)
- changed: name of DISCRETIZED_SUVpeak* becomes LOCAL-INTENSITY-HISTOGRAM_GlobalIntensityPeak*(IBSI_0F91)

Texture protocol - RIM (transfer into second order features):
- changed CONVENTIONAL_* term by INTENSITY-BASED_*
- changed DISCRETIZED_* term by INTENSITY-HISTOGRAM_*
- changed: CONVENTIONAL_RIM_cm3 becomes INTENSITY-BASED-RIM_ApproximateVolume
- changed: DISCRETIZED_RIM_cm3 becomes INTENSITY-HISTOGRAM-RIM_ApproximateVolume
- changed: CONVENTIONAL_RIM_N becomes INTENSITY-BASED-RIM_CountingVoxels
- changed: DISCRETIZED_RIM_N becomes INTENSITY-HISTOGRAM-RIM_CountingVoxels

Texture protocol - MORPHOLOGICAL/SHAPE:
- changed: name of category SHAPE_* becomes MORPHOLOGICAL_*
- changed: name of SHAPE_Volume_mL becomes MORPHOLOGICAL_ApproximateVolume(IBSI_YEKZ)
- added: MORPHOLOGICAL_SurfaceToVolumeRatio(IBSI_2PR5) feature
- added: MORPHOLOGICAL_Compactness1(IBSI_SKGS) feature
- added: MORPHOLOGICAL_Compactness2(IBSI_BQWJ) feature
- added: MORPHOLOGICAL_SphericalDisproportion(IBSI_KRCK) feature
- added: MORPHOLOGICAL_Asphericity(IBSI_25C7) feature
- added: MORPHOLOGICAL_CentreOfMassShift(IBSI_KLMA) feature
- added: MORPHOLOGICAL_Maximum3DDiameter(IBSI_L0JK) feature
- added: MORPHOLOGICAL_IntegratedIntensity=totalLesionGlycolysis(IBSI_99N0) feature

Texture protocol - NGTDM/NGLDM matrix:
- added: NGLDM_Complexity(IBSI_HDEZ) feature
- added: NGLDM_Strength(IBSI_1X9X) feature

Texture protocol - GLSZM/GLZLM matrix:
- changed: name of category GLZLM_* becomes GLSZM_*
- changed: name of GLZLM_ZLNU becomes GLZLM_ZSNU(IBSI_4JP3)
- fixed issue on GLZLM_GLNU feature
- added: GLZLM_GLNUNORM(IBSI_Y1RO) feature
- added: GLZLM_ZSNUNORM(IBSI_VB3A) feature
- added: GLZLM_GLVAR(IBSI_3NSA) feature
- added: GLZLM_ZSE(IBSI_GU8N) feature


MTV protocol:
- fixed issue: in Nestle threshold
- added: default setting button for each threshold
- added: saving of all parameters in session file (kept in memory when starting again LIFEx)
- changed: obligation to fulfill at least one step 2 threshold
- changed: obligation to fulfill the pruning of step 3

Labelling protocol:
- added: automatic de-selection of all ROI tools after clicking on pickVoxel tool