RLEImage: run-length encoded memory compression scheme for an itk::Image

Dženan Zukić1*,Matthew McCormick,Guido Gerig,Paul Yushkevich
1.Computer Graphics group, University of Siegen
Abstract
RLEImage: run-length encoded memory compression scheme for an itk::Image

Abstract

This document describes a new class, itk::RLEImage, which uses run-length encoding to reduce the memory needed for storage of label maps. This class is accompanied by all the iterators to make it a dropin replacement for itk::Image. By changing the image typedef to itk::RLEImage, many ITK image processing algorithms build without modification and with minimal performance overhead. However, it is not possible if the user code uses GetBufferPointer() or otherwise assumes a linear pixel layout. This class is implemented to reduce the memory use of ITK-SNAP (www.itksnap.org), so ITKSNAP is the base for measuring the quantitative results. The class, accompanying iterator specializations, automated regression tests, and test data are all packaged as an ITK remote module https://github.com/KitwareMedical/ITKRLEImage.

Keywords

ITKRLECompressionImage
Manuscript
Source Code and Data

Source Code and Data

.clang-format2.7 KB.gitignore242 BCMakeLists.txt227 BCTestConfig.cmake230 BLICENSE11.1 KBREADME.rst425 Bcircle.yml397 BdocInsightArticle.cls4.1 KBInsightJournal.ist220 BInsightJournal.bib160.8 KBInsightJournal.sty35.2 KBMakefile489 BRLEImage.tex12.8 KBalgorithm.sty2.2 KBalgorithmic.sty5.4 KBamssymb.sty14.9 KBdoubleWordCheck.pl410 BbrainParc.png456 KBfancyhdr.sty14.4 KBfloatflt.sty10.8 KBfncychap.sty10.1 KBtimes.sty857 Bwb-crop.png54.8 KBvb-seg.png101.9 KBwb-seg.png35.8 KBitk-module.cmake440 BincludeitkRLEImage.h10.3 KBitkRLEImage.hxx10.9 KBitkRLEImageConstIterator.h14.2 KBitkRLEImageIterator.h6.4 KBitkRLEImageRegionConstIterator.h9.9 KBitkRLEImageRegionIterator.h6.9 KBitkRLEImageScanlineConstIterator.h6.3 KBitkRLEImageScanlineIterator.h4.1 KBitkRLERegionOfInterestImageFilter.h17.3 KBitkRLERegionOfInterestImageFilter.hxx25.3 KBtestCMakeLists.txt2.2 KBDockerDockerfile1.6 KBbuild.sh106 Brun.sh199 Btest.sh506 BInput105769fixed.nii.gz.md533 B105769moving.nii.gz.md533 B1MN1.nrrd.md533 B2D.png.md533 B64816L_amygdala_fin.nii.gz.md533 B64816L_amygdala_int.nii.gz.md533 B65239R_amygdala_fin.nii.gz.md533 B65239R_amygdala_int.nii.gz.md533 BAccidentalMiddleSliceSeg.nrrd.md533 BBigZ.nrrd.md533 BDoubleTwoLabelBranching.nrrd.md533 BEmpty.nrrd.md533 BExtrapolationAppearing.nrrd.md533 BFaceRoI.nrrd.md533 BFourD.nrrd.md533 BFullEnd.nrrd.md533 BGridSeg.nrrd.md533 BGridSeg2.nrrd.md533 BManyToMany.nrrd.md533 BManyToMany16.nrrd.md533 BMicro1.nrrd.md533 BNoSlices.nrrd.md533 BOneToOne.nrrd.md533 BOneToThree.nrrd.md533 BSevenLabels.nrrd.md533 BSimplestOneToOne.nrrd.md533 BThreeAxisFourLabelConflict.nrrd.md533 BTwoAxisDoubleTwoLabelBC.nrrd.md533 BbrainParc.mha.md533 Bvb-seg.mha.md533 Bwb-crop.nrrd.md533 Bwb-seg.nrrd.md533 Bws.nrrd.md533 Bwb-seg32.nrrd.md533 BiteratorTests.cxx1.8 KBitkImageIteratorTest.cxx7.3 KBitkImageIteratorWithIndexTest.cxx9.9 KBitkImageIteratorsForwardBackwardTest.cxx4.6 KBitkImageRegionConstIteratorWithOnlyIndexTest.cxx6.4 KBitkImageRegionIteratorTest.cxx7.3 KBitkImageScanlineIteratorTest1.cxx7 KBitkIteratorTests.cxx3.2 KBitkRLEImageTest.cxx9.2 KBitkRegionOfInterestImageFilterTest.cxx3.4 KBmanualTest.cxx1 KB

Select a file to preview