**************** LIFEx public version 7.2.0 *****************
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 = 8 bit = 254 ROI available on same file
- added: uint16 format in nifti ROI saving = 16 bit = 65535 ROI available on same file
- 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
**************** LIFEx public version 7.1.0 *****************
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.1.0:
Main:
- added: GML and GML1 units on TEP series
- added: arguments (script, image, directory) on command line
- added: display header of all loaded dicom files (and not only the first file)
- added: protocol box size reduced after five minutes
- improved: display of images and ROIs
- improved: the dialog boxes for protocols not used for 10 minutes are automatically minimized as an icon
- changed: save MIP 360° is mp4 format with rotation of 2°
- fixed issue: no freeze when mouse move out of MIP frame while recording MIP in MPEG4 format
- fixed issue: rtstruct.dcm save
Main (ROI):
- fixed issue: reading of some RTStruct DICOM that could not be read properly before
- fixed issue: nifti multi-ROI file with IOP and large number of ROIs (>100)
- fixed issue: contrast-based segmentation method
- fixed issue: RTStruct with image orientation in patient coordinate (IOP)
- fixed issue: clickDraw and clickDraw40% sometimes frozen
- fixed issue: colour mixing of overlaid ROIs
- fixed issue: on pencil2D, Nesle, Threshold tools
- fixed issue: W/L threshold tool: active even if no ROI yet
Texture protocol:
- removed: button of ROI check for texture
- added: correlation map on local map texture
- added: add key=value LIFEx.check=true in texture script
- changed: thresold of 0.1SUV to calculate texture-GLCM-map (in place of 0.05#)
- removed: comment of peakSphere1mL and 0.5mL Columns in texture result file
- fixed issue: suppression of the +1 in the discretization values only for values > maxBound (for IBSI compliant)
Quality Control protocol:
- add CT transverse
- add PT PSF
Labelling protocol:
- added: multi serie loading with input parameter all.patient.img#.color all.patient.img#.window.width all.patient.img#.window.level available
MTV-protocol:
- fixed issue: quarter symbol (BR_, BL_ TR_, TL_) are now always written to the result file
Calcium-protocol:
- fixed issue: the following html symbol
is now converted to a line feed in the .csv file
**************** LIFEx public version 7.0.0 *****************
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.0.0:
Main:
- added: addition of a shortcut for the settings in the protocol frame
- added: keyboard shortcut "P" to print the current view
- improved: optimized use of the RAM for histogram calculation (series and ROI)
- improved: change from jdk-8 to jdk-16 which integrates the new java modules (jmod)
- improved: support of 4K, 5K, 8K display resolution
- improved: generation of the iconography (SVG->PNG) is done only once at the first start of the application.
- improved: add .deb (debian, ubuntu) .rpm (fedora, redhat) .aarch64 (M1 mac) packaging of LIFEx distribution
- changed: documentation and tutorials are now excluded from the application and become exclusively accessible through Internet
- changed: resources, log, properties, setting files are moved into .LIFExv.v.v directory of root user
- fixed issue: bad filename on some written nifti file
Main (Series):
- added: Fat (W500 L-100) window leveling of CT contrast
- added: Laplacian, Mean, Law, Wavelet series filters
- improved: read series from NRRD file format
- improved: Not a Number (NaN) values are no longer visible now (with aplha=0) on images
- improved: DICOM-RealWorldValueSlope file no longer stops the opening of the other series on loading
- fixed issue: empty sub region on US DICOM format are not copied on b-mode base image
- fixed issue: CT DICOM images with bitsAllocated=16, bitsStored=16, highBit=15
- fixed issue: DICOM multi frames with enhanced class storage and without PerFrameFunctionalGroupsSequence) / FrameContentSequence / DimensionIndexValues
- fixed issue: "Radionuclide Total Dose" DICOM attribute is now in MBq for NM modality, and in Bq for PET modality
- fixed issue: acquisition time instead of serieTime is displayed on overlaid images
- fixed issue: patient size are now in "float" value while it was "int" before (impact scale factor SuvLbm)
- fixed issue: no interpolation needed when matrix loaded from nifti are exact inversion (-1) on Z, Y or X axis (only flip is executed)
- fixed issue: add IOP management on registration file (DICOM-REG)
Main (ROI):
- changed: save file button is move on ROI menu under File/Edit sub-part
- added: invert selection tool of ROI
- improved: read ROI from NRRD file format
- improved: new formatting of statistics in ROI box information
- improved: changed default names of ROI "C1...Cn" into new names "R1...Rn"
- downgrade: ROI file format before v4.00 is no longer supported
- fixed issue: KeepOne ROI tool on large matrix
Texture protocol:
- improved: all results of features are set to NaN when they are not selected for calculation
- improved: CONV/DISCRETIZED_peak (0.5mL and 1mL) are accelerated (on 2D slices only)
- fixed issue: DISCRETIZED_HISTO_Skewness is removed (duplicate values with DISCRETIZED_Skewness)
- fixed issue: DISCRETIZED_HISTO_Kurtosis is removed (duplicate values with DISCRETIZED_Kurtosis
- fixed issue: DISCRETIZED_HISTO_Entropy_log2 and__log10 are corrected
- fixed issue: DISCRETIZED_HISTO_Energy is corrected
- fixed issue: unavailable 3d processing on GUI on 2D series
MTV protocol:
- added: Dmax (and other MTV features) feature is now available
- added (MTVNotation): add property "LIFEx.mtv.Frame.Annotation" to hide/show annotations ; none as default ; available options: none || fill
- added (MTVnotation): unvalid button on GUI
- changed (MTVnotation): minimal value of initial threshold is set to SUV 1.1
- changed (MTVnotation): empty ROI is now possible
- changed (MTVnotation): on result csv file, coordinate of SUVmax of selected ROI is written in place of mouse coordinate when clicking on ROI
- improved: greatly increased responsiveness when many ROIs are present
- improved: row of total results in csv file is now at the right place (right shift of one column).
- improved: add Center of mass(COM), sumBindCOM, avBindCOM, stdBindCOM, minBindCOM, maxBindCOM, avTotBindCOM on protocol
- fixed issue: no ROI creation if empty size
PT Compartmental analysis protocol:
- added: dicom-extension in nifti file from PMOD1 format of extension (Frame Start Times & Frame Duration)
- added: added the width of the "frame duration" on the dynamic chart
- added: added a weighting corresponding to the "duration frame" in the TAC output file in dft format
- improved: "frame acquisition time" is replaced by "frame reference time" on dft file
- improved: x and y units are adjustable before saving on dft file
Quality Control protocol:
- changed: rename of column title of field RedExternDiameterRatio by RedExternDiameter(mm) ; idem for GreenDiameterRatio and RedDiameterRatio
- changed: add on integral