Title: Slicer 3.0 Architecure
1Slicer 3.0 Architecure
User Desktop
Algorithms
ITK
VTK
Slicer Modules
Slicer 3.0
Scripts of Slicer Mods
VTK Apps Using ITK
Batch Programs
Non-NAMIC Cmd tools
LONI Pipeline
Birn Grid Data/Compute
2Slicer 3 Execution Model Goals
- Provide interface to batch programs
- Simplify and unify command line processing
- Auto generate C command line processing
- Simplify and unify GUI
- Auto generate GUI
3Execution Model Progress
- XML Interface Description
- Describes command line options
- Describes suggestions for GUI
- GenerateCLP
- Generates C command line processing code from
XML - Reports XML description
- GUI Generation
- Discovers executables at Slicer start-up
- Generates GUI from XML
- Executes command line program
4Program Flow
User Desktop
Slicer Modules
Slicer 3.0
prog.xml
GenerateCLP
progCLP.h
prog.cxx
Non-NAMIC Cmd tools
LONI Pipeline
Birn Grid Data/Compute
5(No Transcript)
6Execution Model Documentation
- On the Wiki
- Slicer3Execution_Model_Documentation
7MedianImageFilter --xml
ltlabelgtNeighborhood Sizelt/labelgt
ltdefaultgt1,1,1lt/defaultgt lt/integer-vectorgt
lt/parametersgt ltparametersgt
ltlabelgtI/Olt/labelgt ltdescriptiongtInput/Output
parameterslt/descriptiongt ltimagegt
ltnamegtinputVolumelt/namegt ltlabelgtInput
Volumelt/labelgt ltchannelgtinputlt/channelgt
ltindexgt0lt/indexgt ltdescriptiongtInput
volume to be filteredlt/descriptiongt
lt/imagegt ltimagegt ltnamegtoutputVolumelt/n
amegt ltlabelgtOutput Volumelt/labelgt
ltchannelgtoutputlt/channelgt
ltindexgt1lt/indexgt ltdescriptiongtOutput
filteredlt/descriptiongt lt/imagegt
lt/parametersgt lt/executablegt
- lt?xml version"1.0" encoding"utf-8"?gt
- ltexecutablegt
- ltcategorygtFilteringlt/categorygt
- lttitlegtMedian Filterlt/titlegt
- ltdescriptiongt
- The MedianImageFilter is commonly used as a
robust approach for noise reduction. This filter
is particularly efficient against
"salt-and-pepper" noise. In other words, it is
robust to the presence of gray-level outliers.
MedianImageFilter computes the value of each
output pixel as the statistical median of the
neighborhood of values around the corresponding
input pixel. - lt/descriptiongt
- ltversiongt1.0lt/versiongt
- ltdocumentationurlgtlt/documentationurlgt
- ltlicensegtlt/licensegt
- ltcontributorgtBill Lorensenlt/contributorgt
- ltparametersgt
- ltlabelgtMedian Filter Parameterslt/labelgt
- ltdescriptiongt
- Parameters for the median filter
- lt/descriptiongt
- ltinteger-vectorgt
- ltnamegtneighborhoodlt/namegt
- ltlongflaggt--neighborhoodlt/longflaggt
8MedianImageFilter --help
USAGE d\lorensen\Projects\Slicer3-net\bin\Re
lWithDebInfo\MedianImageFilter
--xml --echo
--neighborhood
ltstdvectorltintgtgt --
--version -h
ltstdstringgt
ltstdstringgt Where --xml Produce
xml description of command line arguments
(default 0) --echo Echo the command line
arguments (default 0) --neighborhood
ltstdvectorltintgtgt The size of the
neighborhood in each dimension (default 1,1,1)
--, --ignore_rest Ignores the rest of the
labeled arguments following this flag.
--version Displays version information and
exits.
-h, --help Displays usage information and
exits. ltstdstringgt (required) Input
volume to be filtered ltstdstringgt
(required) Output filtered The
MedianImageFilter is commonly used as a robust
approach for noise reduction. This filter is
particularly efficient against
'salt-and-pepper' noise. In other words, it is
robust to the presence of gray-level outliers.
MedianImageFilter computes the value of each
output pixel as the statistical median of the
neighborhood of values around the corresponding
input pixel.
9MedianImageFilter GUI
10Building An Executable
- To use GenerateCLP from CMake include the
following in your CMakeLists.txt file - INCLUDE(Slicer3_SOURCE_DIR/Libs/GenerateCLP/Us
eGenerateCLP.cmake) - For each executable, include the following,
replacing '''MyFilter''' with the name of your
C source - SET ( '''MyFilter'''_SOURCE '''MyFilter'''.cxx
GENERATECLP('''MyFilter'''_SOURCE
'''MyFilter'''.xml) ADD_EXECUTABLE (
'''MyFilter''' '''MyFilter'''_SOURCE)
TARGET_LINK_LIBRARIES ( '''MyFilter''' ITKIO
ITKBasicFilters ITKCommon) - Although this example linked to ITK libraries,
other libraries can be specified.
11Execution Model Documentation
12Demo
13Converting Existing Modules
- Insight/Examples/Filtering/MedianImageFilter
- To
- Slicer3/Applications/CLI/MedianImageFilter