sliceOmatic 5.0

sliceOmatic 5.0 - Previous versions
Critical updates New features an updates Minor changes


  • Change the timing of the "Result 2D" default script read to insure that user scripts are not overwritten.
  • Change the Snake module: The "Minimize Energy" now only affect snakes of the current TAG value.
  • Fix a problem in the mixer is 2 matching slices have slightly different positions. We now compare only the first 7 significant digits of the values.
  • Fix a multi-thread problem in the mixer that may cause crashes when computing threshold with mixed images.
  • Merge the installation scripts of the additional modules.
  • I started seeing a problem with Intel on-board graphic drivers! The program report an OpenGL "Out of memory" error while doing the operation "glDrawPixels". Since that operation does not use OpenGL memory, it look like an error in the Intel's OpenGL drivers. I now open a pop-up if that error is seen, at this time, there is not much more I can do...
  • Add "Selected Frames" option to the "Snapshot" tool to save one image per selected frames. The images will be of the frames in the current display mode (gery, mix, over...). They will be of the same resolution as the original images. They will be saved in the same directory selected for the TAG files, but with the extension matching the selected image format (.tif, .png, .jpg...). If a file already exist with the same file name, it be oevrwritten, no question asked.
Additional Modules


  • Add "Slice Nb Pixel X", "Slice Nb Pixel Y", "Pixel Width" and "Pixel Height" to the exported choices in the tool "Result 2D".
  • Renamed "Histogram Segmentation" to "Histogram Peak Detection" to make room for the new "Histogram Thresholding" mode.
  • Add the new "Histogram Thresholding" mode in the additional modes.


  • New tool "2d Results" to create Excel files from all the measurements in the program.
  • New additional tool "2D CT Gradient". This tool limit the gradient of the image to a defined threshold range. This enable the "Snake" and "Morpho" modules to be better behaved when working with CT images.
  • Beter/faster gestion of the OpenGL contexts. Plug a leak in context swap. This help to run on some Intel graphic processors.
  • New version of the ABACS additional module. ABACS now support L3 and T4 levels & user defined thresholds.
  • Recompiled with VS2015 libraries.
  • 64 bit version is no longuer compatible with XP.
Additional Modules


  • New pop-up messgaes for expired temporary licenses and expired update licenses.
  • Fix a bug that prevent the "ABACS L3" button from comming back up after computing one slice.
Additional Modules


  • Add new "ABACS L3" module by Voronoi Health Analytics.
  • Fix a bug in the Alberta Protocol where changing steps would increment the current frame.
  • Fix a problemin "Region Growing", added in rev-7, in "Grow 2D" sub-mode, where brush size larger than 1 pixel no longuer worked.


  • Add new "Alberta Protocol" shortcut to activate the new simplified menu option.
  • Add support for simplified menus: The command lines arguments "-s name" and "-n title" are used to give the name of a series of scripts that are presented in the mode menu to simplify the menus. The "title" is the name applied to those scripts.
    ex: "-s sarcopenia -t "Alberta Protocol""
  • Add 2 new script commands:
    snake: tag
    snake: geom
  • Fix a few timing problems for scripts.
  • Fix a few minor bugs with window resizing.
  • Add update to the current slice from the 2D selection tool.
  • Redesign the "Configuration" interface to make it more modular, added the new Config DLL dir.
  • Fix a number of bugs in the Histogram Segmentation mode.


  • Change the structure of the "File" menu to make it more modular.
  • Improved the processing speed of some multi-frame MR datasets.
  • Fix a problem in the browsers. Multiframe files that had to many images caused the text info to be overwritten.


  • Fix a problem, introduced in rev-6a, where in region growing, mode 1, only the last frame was available.
  • Fix a bug, introduced in rev-6a, in the frame sorting that cause them to be sorted incorectly and consequently created problems with the surface/volume computations
  • Fix a problem with some Philips DICOM multislice MRI datasets crashing the program.
  • Spawn the "BabySliceO" program from sliceOmatic.


  • Fix a bug in rev-5f where some DICOM images appear to be splited.
  • Add script info for Mixer in "Script Save" command.
  • Fix a bug for non-group 10 explicit VR images.
  • Add shading to the Shell previewing points.
  • The "3D Cleanup" tool now clean the TAGs in addition to the geometries.
  • in 3D modes, pressing "Space" no longuer send to 2D modes.
  • Add OBJ export for 3D surfaces.
  • Some work on the Browsers:
    - Fix a multithread problem.
    - We can now select a new path before the previous one was analysed.
    - Add support for keys 1 to 9, ‹, ›, and arrows to open/close tree levels
  • The "2D Scout Lines" tool has been moved from the additional tools to the basic installation.
Additional Modules


  • Fix a problem with the 3D local axis system.
  • Add a visualization of the 4x4 matrix in "Class 3D Matrix".
  • By default the TIFF reader is now Window's GDI for color images. If it fail (or if the images are DSR or DEFF) then my TIFF librarie is used.
  • Better use of the default path for saving measurements, points and other files.
  • New 3D tools: 3D_Relaxation, 3D_Burn_In, 3D_Geom_Selection.
  • Rename the tools DLL in the user section.
  • Fix a refresh problem in 3D when the speed is diff then "fast" in the config.
Additional Modules


  • Fix a problem when the program was set in mode Morpho by a script: the watershed lines did not show correctly.
  • Fix a deadlock issue that sometime happen when saving tag files.
  • Some cleanup of the script files.
  • Fix a refresh bug in Mode one when updating the DB through the "DB file management" mode and changing the displayed image.
  • Changing the selection through the "DB File Management" menu now update the slice selection.
  • Add the "Flood" command to the morpho scripts.
  • Fix an "undo" problem with Morpho "Flood Watersehd" operations.
  • Fix a problem with refresh of oblique MPR slices.
  • Add multi-thread & cancel window for 3D slice option.
  • Better threshold preview if tag 0 is locked.
  • New script command to preserve the window placement in floating window mode.
  • Add scripts to fix the threshold values in additional mode "Histo".
  • Fix the macro assignations.
  • Add a new "TAG Delete" tool. Its function is equivalent to the "tag: t_tag delete" command.


  • The DICOM browser now only recognize "part 5" DICOM files.
  • Fix a problem with the browser that cause it to freeze after scanning a directory that did not contain any image files.


  • Fix small problems with Ortho and Oblique classes.
  • Fix small problem with Pilot Lines
  • Add frame tracking to pilot lines options
  • Add 3D to/fom 2D frame tracking in pilot lines.
  • Add 3D Geom Cleanup tool.
  • Adding series comment and image commnet in class series descriminator.
  • New DICOM browser. ONly search for DICOM images and lighter footprint than Medi browser.
  • Add icons in Medi and DICOM browsers.
  • Fix some problems when color and B&W images are mixed
  • Fix a problem saving some tag files
  • Fix a problem reading a dir with both GLI and TAG files.


  • Region growing preview now start at "On".
  • Fix a problem with 3D Slices: going to a 2D mode used to disabled updates.
  • Switching between modes ONE and ALL now reset the window sliders to their previous position.
  • Add support for pixel dimentions compute from CR and XA DICOM parameters.
  • Change some menu colors
  • Add new functionality to "Snapshot".
    The variable "$SNAPSHOT_NAME" can be used to change the default name prefix.
    The command: "snap: [t_frame] frame [file_name]" will create one image for each frame matching the template "t_name". If no template is present, the current frame is "snapped". The resulting images will have the dimensions of the frame, regardless of how they are displayed in sliceO. So, for example: "snap: "*.*" frame" will make an image for each of the frames currently in the program's database.
    Note: only the GLI and TAG colors are used to create the frame snapshots, all other info is not saved (overlay, points, measures...)
  • Add the variable "$AUTOMATION_LOOP_COUNTER". That variable can be used inside scripts used in the Automation tool. It is incremented for each step of the automation process and reset to 0 with the reset.
  • Add DB File Management for 1D and 3D files in the additional modules.
  • Internal change: Change the Iterator to prevent conflict and deadlocks
  • Internal change: Rename class Matrix to Matrix_NxM because of a conflict with GDI+
  • Use GDI+ to add support for PNG, GIF, BMP and compressed JPEG image formats.
  • Fix a bug for JPEG-2000 color images.
  • Add "Save" buttons to RR2D and RR3D classes.
  • Fix a problem in the mixer (introduce in rev-b) where the "Vn" where not seen.
  • Modify the Fct_Ctrl_Register for Modes and Classes to enable classes that work with both 2D and 3D windows.
  • Fix a bug in propagate when using different resolution images.
  • Add Unari functions to the mixer: "-", "log", "log10", "exp", "sqrt", "floor", "ceil", "abs", "sin", "cos", "tan", "asin", "acos", "atan".
  • Add Binari functions to the mixer: "min", "max", "pow", "atan2".
  • Fix a mixer problem when result of a summation was a negative value.
  • Change the 4th GLI colormap to get a better range of colors.
  • Add an "edit" button in the class amangement modes. This enable you to edit the class tree as it is in the program's memory.
  • Add the 3D classes "Matrix" and "Group" to enable 3D modeling.


  • Add support for non-cartesian voxels: Support for Spherical and Cylindrical voxels from 3D ultrasound files in Ge Kretz and DICOM, Philips DICOM and Hitachi ALOKA DICOM formats. 3D viewing and reconstructions can now be done directly from these file formats.
  • Fix a proble with DB File Management in demo mode. You can now close files in demo mode.
  • Fix a problem with assigning values to array variables.
  • Fix a problem with Philips 3D Ultrasound DICOM files.
  • Add variables for the main file extensions used in the program. If you want to read files of a type with more than 1 extension, you can have multiple extension in each variable string, separated by spaces or commas.
  • The Mixer and Unsorted classes are now part of the basic sliceO package (they used to be part of the additional modules).
  • Fix an "undo" bug for Quadrant mask. The undo used to leave Quadrant lines.
  • Fix a bug in "Snapshot". Changing the output format with the mouse wheel didn't update the $SNAPSHOT_FORMAT_CUR valriable.
  • Add the command "File: t_file rescale slope intercept" to change the default values of the rescale slope and rescale intercept read from the files.
  • Add the variables "$GLI_HISTO_BINS_MAX" and "$GLI_HISTO_BINS_NB" for the histograms.
  • Fix a bug that created a few holes in the histograms.
  • Work on the automatic peak detection in the histogram tool.
  • Add a few "..._LIST" variables for the sake of completion.
  • Change the maximums for brush numbers and brush radius. Add a "big_brush.scp" script to create a new set of brushes.


  • Add a "Preview" button in Threshold mode.
  • Add "Close Unselected" button in "DB File Management" Mode.
  • Add a "Blow-Up" option to the histograms in Region Growing and Threshold modes.
  • Fix a bug in "DB File Management" "Pos." tab. Now the offset can be cumulated.
  • Add a "Histogram Segmentation mode" in the additional modules.
  • Add a "2D registration class" in the additional modules.
  • Fix a problem in Morpho for really big images (more than 512x512).
  • Add support for Siemens RDA files in the additional Spectroscopy module.
  • The "DB Class Management" mode can be used to add/remove classes for the 2D database (as before) but also the 1D database (for now that's the spectroscopy data only) and 3D database (3D geometris created with 3D modules or imported) - Add a "Dispaly 2D" mode.
  • Fix a bug in rev-4 where the program crash if multiple images are loaded and not all the images are displayed before some operations (like Threshold).
  • Add a "Sort" functions to the DLL. This enable a new file structure for the DLL, where multiple dir can be used for basid and additional modules and module names are not the only criteria for the order of the modules in the menus.
  • New structure and names for the DLLs.
  • Add a new additional class "Path" and "Suffix" that sort the frames using the file's name path and TAG suffix.
  • Modify "Mixer" class. Now you can enter "path", "name" or "suffix" in the "Discriminate Channels on:" input box. This will cause the mixer to discriminate on input TAG file's path or file's name or the TAG suffix. You can use this to compare the TAGs on 2 identical files. For example for repetabilities studies. If the same images are segmented by 2 users, place the GLI and TAG files a different dir for each user, read them in sliceO, and use the mixer (discriminate on "path") to compare the TAGS. (the TAG eq: "((T1-T2)>0)?(T1-T2):(T2-T1)" should show the TAG differences).
  • Fix a problem in the Mixer for images that had a rescale slope and intercept.
  • Add support for SCANCO pQCT DICOM images.
  • Add section titles in the Tool and Mode menus.


  • Fix a bug introduce in rev-4a that cause a crash if you use a user class.
  • Remove 3 callbacks from the classes and replaced them by virtual methods: Metrics_Get_Res, Metrics_Get_Org and Metrics_Get_Frm. This mean that most of the user modules have to be re-installed with a compatible version.
  • Fix a bug that cause the preview windows of ROI amd MPR classes to not be displayed correctly when these class modes are first open.
  • Fix a bug when closing images with class MPR active
  • Now remember the ROI values when updating DB.
  • Add a "Display 2D" mode.
  • The "Class" modes no longuer are "2D" modes, the current display will not change when opening a "Class" mode. This was done to enable the "Registration 3D" to work on 3D geometries.
  • Add the variable "COMPUTER_TIMEOUT" to control the differnt thread timeouts. If you are working with huge images (>5000x5000) You may want to increase the timeout to 120 sec instaed of the default 30 sec: "$COMPUTER_TIMEOUT = 120".
  • Made "1" the default value for "$COLOR_CLASIC", so if you want the new "Mix" mode, you need to set it to "0" or press "SHIFT F2".


  • Add the "Tag: t_tag color R G B" script command.
  • Add a progress bar at the top of the text window.
  • Add the "Surface" mask in the "Geometrical Mask" mode. The mask has a fixed radius that can be modified with the script command: "mask: radius value" where "value" is the radius in mm.
  • Modified the "Mix" color scheme. If you prefer the old look, the variable "$COLOR_CLASIC" can be set to 1 to restore the old Mix algorithm. The variable can also be toggled with the "SHIFT F2" key.
  • Add a new color scheme: the "Tint" mode. The GLI color is multiplied by the TAG color. The "Shift +" and "Shift -" can be used to add seom TAG color to the image. The result give a nicer view of the Tagged tissues, but the tag values over the image background (GLI = 0) not visible in this mode (tag * 0 = 0). The shortcuts "F3" and "F4" have been modified.
  • Fix a crash that would happen if you use "flood watershed" without having created a watershed first.
  • Fix a problem with the pen interface for Snake, Geom Mask and 2D measures modes.
  • Changes to the internal structure of the frames class, to enable elastic deformations now all 2D/3D conversion must go through the callbacks.
  • Add the selection of saved results to the "File" page of the config menu.
  • Removed the "sliceO_5.dat" file in scratch dir. Replaced it by a "sliceO_5_crash.scp" in the user's directory. This "crash" file contain only the active files and it is deleted when we exit normally.
  • Better integration of the script and "Medi" Browsers. Some changes to the browsers.
  • Fix a display problem in Thresholding when you select/unselect slices they where not updated correctly.
  • Fix a problem in Region Growing with locked sliders. If the dynamic range of the selected slices was smaller than the locked values, the locked values would change to the new range.
  • Fix a problem with 3D Volume measurement that falsely reported the volume to be open.
  • Fix a problem with snake to TAG that sometime created horizontal lines.
  • Improve debugging reporting.
  • Slightly increased speed.
  • Oups! The patient name was visible in the Study class name in mode Anonymous.
  • Fix a bug in the MPR classes that prevent them from working if you closed the frames in the original dir.
  • Fix the region growing erase for 2D region growing.
  • Add a "Propagate" script command to: Morpho, Mask, Regin growing and Snake modes.
  • Cleanup of the "Script Save As" command. Only modified parameters are now saved.
  • Add a "$FRAME_SCALING" variable that control the scaling applied to the frames when you press "+" and "-".
  • Add 3 new DLL's: TomoVision_3D, TomoVision_Progress and TomoVision_Plot that replaced the corresponding previous libraries.
  • In Ortho and Oblique, fix the dynamic range of the reslice data to the maximum range of the original.
  • In menu floating, you can no longuer close the floating menus.
  • Change default TAB number from 128 to 32
  • Change default saved info in the DB file. Now the mean, min and max values under the tags are disabled by default, along with the surface in pixels and the volume in voxels. Only the surface and volume in the selected units are enabled.
  • Add TIFF, PNG, JPEG and GIF to the supported file format of the snapshot tool.
  • For compressed formats (JPEG) the $SNAPSHOT_QUALITY variable can be used to control the compression 1=poor, 100=best


  • You can now drag&drop license files on sliceOmatic. It will call the License program for you.
  • The associated files (TomoVision_License, Raw_Header, and the medi and script browsers) where not compatible with Windows 32 bits in rev-3a. This has been fixed.


  • Recompiled with Visual Studio 2013 to add support for gesture interface. You can now use 2 fingers to scale/translate images under windows 8.
  • Add support for the pen interface under Windows.
  • Fix a bug in Morpho for signed CT images.
  • Fix a bug with the "Distance to line" tool. Distances where calculated wrong if the base line had a tilt.
  • Fix a bug in Threshold, add TAG_Lock support to threshold preview.
  • Fix a small problem with the display of GLI values in "Pixel Info" tool for 32 bit images.
  • Add over/sub sampling to the MPR_Oblique class. Also added the folowing variables: $MPR_OBLIQUE_ALPHA $MPR_OBLIQUE_BETA $MPR_OBLIQUE_THETA $MPR_OBLIQUE_SAMPLING $MPR_OBLIQUE_XY $MPR_OBLIQUE_Z If "SAMPLING" is 1, the "XY" and "Z" variable can be used to change the sampling of the resulting oblique slices. > 1 = oversampling, < 1 = undersampling.
  • Add support for drag&drop of directories.


  • Fix a 1/2 pixel offset in GLI created DICOM files.
  • Fix a rounding problem with the new border class.
  • Fix a 1/2 pixel rounding problem with pixel pos in the the "Pixel Info" tool.
  • Change the default file extension for surface/volume db files from ".srf" to ".csv" (Comma-separated values) and add a line "sep=x" where x is the regional separator so that Excel can be opened by clicking on the files.
User Modules


  • Fix a problem when saving while exiting. The tag files where sometime not saved! This may also cause the program to crash.
  • Small change to the SliceO_Class structure to enable the border class.
  • Enabled the save as GLI option for frames that have their GLI values modified.
  • You can now tag outside the fiel of view. This enable to extrapolate for patient that do not fit in the FoV. You can also use the "Border" class to create a new larger image.


  • Renamed class DLLs to impose a new sort order in the "DB Class management" mode.


  • Updates to the Math library for the Spectro User Module.


  • Now read Spectroscopic data from Siemens MR.
  • Surfcae values where not updates after an "Undo" operation.
  • Some sliceO 4.3 tag files had incorect UID. I now test for that when reading old TAG files.


  • Fixed a problem with the configuration where the startup-script file seem to revert to "off".
  • Add "Up" and "Down" Arrow Keys to control the TAG value associated with the threshold sliders.
  • Fix a problem with the "Scroll Lock" not being respected for "Threshold" and "Region Growing".
  • Fix a problem with the series wrongly displaying the animation icon.
  • Fix a problem with the Filter class
  • Fix a problem that cause a crash on exit.
  • Set undefined thickness to 1 (instead of HUGE_REAL)
  • Fix a problem with flood fill ("Enter" key) in region growing when the preview was on.


  • Fixed a problem with the surfaces of ROI in 2D Measurement mode.
  • Improve data formating for Global measurements in 2D Measurement mode.
  • Fixed a flicker problem in some modes.
  • Fix a crash in Shell Lorensen when the images are not squarre.
  • Fix a problem with floating point values in Analyze format.
  • Fix a problem with Philips DIXON DICOM files.
  • Fix a problem with 2D Overlay for multiple images in the same file.
  • Fix a problem with output files for multiple images in the same file.
  • Fix a refresh problem when editing TAG labels.
  • Fix problem saving data in Windows-8 (64 bits).
  • Fix a bug introduced in rev-k: Edit didn't update correctly after region growing and Threshold.
  • Some changes to the default key shortcuts:
    • Add "Insert" "Delete" key shortcuts to change parent of parent of current frame.
    • Scale + and - are now mapped to "-" and "=" in addiction to "PAD_PLUS" and "PAD_MINUS".
    • Mix color density is now mapped to "_" and "+" and "SHIFT_PAD_PLUS" and "SHIFT_PAD_MINUS".


  • Change script commands "File: ..." to "Document: ...".
  • Add script commands: "file: t_name dim x y z" to change the slice the pixel dimensions. (dim z is the slice thickness) "file: t_name org x y z [t]" to change the slice the image's origin. "file: t_name d_h x y z" to change the slice the image's horizontal direction. "file: t_name d_v x y z" to change the slice the image's vertical direction.
  • Add missing region growing propagate function.
  • Add the variable "COMPUTER_THREAD_MAX" and "COMPUTER_THREAD_NB" based on the number of "CPU + Hyper Threadings".
  • Add the variable "COMPUTER_NAME" that contain the name of the computer.
  • Greatly improve the computing speed of sliceO threaded operations by using all the available CPUs.
  • Fix a bug in Morpho where some signed images can cause a crash.
  • Fix a bug with directory selection pop-up window that disapear behind sliceO.
  • The keyboard "Ctrl", "Alt" and "Shift" keys are each a x10 multiplier when using the mouse to change thresholds in wheel in Region Growing and threshold modes..
  • Fix a bug when computing volumes after a reslice with Ortho or Oblique classes.
  • Fix a bug with image number of reslice images.


  • Finaly fix the ATI problem that cause overlay text to be flipped.
  • Mouse wheel in Region Growing and threshold sliders now also increment by 1. Also, using the mouse keys add a multiplicator to mouse wheel action (x10 by buttons).


  • Fix a problem with snapshot on Vista and 7 (when Aero is on).
  • Fix a problem with the min/max sliders in Region Growing.
  • Mouse wheel in Region Growing and threshold now increment by 1 on images. Also, using the mouse keys add a multiplicator to mouse wheel action (x10 by buttons).


  • Fix an install problem where the splash screen icon was misplaced.
  • Fix a deadlock in classes Ortho and Obliques.
  • Fix a compilator problem that cause a crash in 3D on some 64 bit systems.
  • Snapshot can now save specific windows.


  • First release of SliceO-5.
    The installation script will install the 32 bit version on a 32 bit system, and the 64 bit version on 64 bit systems.

to Top