mia-3dsegment-local-cmeans(1)

NAME
mia-3dsegment-local-cmeans - Run a c-means segmentation of a 3D image.

SYNOPSIS
mia-3dsegment-local-cmeans -i <in-file> [options]

DESCRIPTION
mia-3dsegment-local-cmeans This program runs the segmentation of a 3D image by applying a localized c-means approach that helps to overcome intensity inhomogeneities in the image. The approach evaluates a global c-means clustering, and then separates the image into overlapping regions where more c-means iterations are run only including the locally present classes, i.e. the classes that relatively contain more pixels than a given threshold. This program implements algorithm described in:

    Dunmore CJ, Wollny G, Skinner MM. (2018) MIA-Clustering: a novel method for segmentation of paleontological material. PeerJ 6:e4374. (https://doi.org/10.7717/peerj.4374)

OPTIONS

  File-IO

    -i --in-file=(input, required); io
        image to be segmented
         For supported file types see PLUGINS:3dimage/io

    -o --out-file=(output); io
        class label image based on merging local labels
         For supported file types see PLUGINS:3dimage/io

    -G --out-global-crisp=(output); io
        class label image based on global segmentation
         For supported file types see PLUGINS:3dimage/io

    -C --class-prob=(output); io
        class probability image file, filetype must support floating point multi-frame images
         For supported file types see PLUGINS:3dimage/io

  Help & Info

    -V --verbose=warning
        verbosity of output, print messages of given level and higher priorities. Supported priorities starting at lowest level are:

        trace - Function call trace
        debug - Debug output
        info - Low level messages
        message - Normal messages
        warning - Warnings
        fail - Report test failures
        error - Report errors
        fatal - Report only fatal errors

    --copyright
        print copyright information

    -h --help
        print this help

    -? --usage
        print a short help

    --version
        print the version number and exit

  Parameters

    -g --grid-spacing=15; int in [3, inf)
        Spacing of the grid used to modulate the intensity inhomogeneities

    -c --cmeans=kmeans:nc=3
        c-means initializer
         For supported plugins see PLUGINS:1d/cmeans

    -e --c-means-epsilon=0.0001; float in (0, inf)
        c-means breaking condition for update tolerance

    -t --relative-cluster-threshold=0.02; double in [0, 1)
        threshold to ignore classes when initializing the local cmeans from the global one.

    -B --ignore-background
        Don't take background probablities into account when desiding whether classes are to be ignored

    -L --label-threshold=0; float in [0, 1]
        for values <= 0.5: create segmentation based on highest class probability, labels start at 0. For values >0.5: create labels only for voxels with a class probability higher than the given value, labels start at 1 and voxels without an according class probability are set to 0; this output is suitable for the seeded watershed filter.

  Processing

    --threads=-1
        Maxiumum number of threads to use for processing,This number should be lower or equal to the number of logical processor cores in the machine. (-1: automatic estimation).

PLUGINS: 1d/cmeans

even
    C-Means initializer that sets the initial class centers as evenly distributed over [0,1], supported parameters are:

    nc =(required, ulong)
        Number of classes to use for the fuzzy-cmeans classification.

kmeans
    C-Means initializer that sets the initial class centers by using a k-means classification, supported parameters are:

    nc =(required, ulong)
        Number of classes to use for the fuzzy-cmeans classification.

predefined
    C-Means initializer that sets pre-defined values for the initial class centers, supported parameters are:

    cc =(required, vdouble)
        Initial class centers fuzzy-cmeans classification (normalized to range [0,1]).

PLUGINS: 3dimage/io

analyze
    Analyze 7.5 image

    Recognized file extensions: .HDR, .hdr

    Supported element types:
        unsigned 8 bit, signed 16 bit, signed 32 bit, floating point 32 bit, floating point 64 bit

datapool
    Virtual IO to and from the internal data pool

    Recognized file extensions: .@

dicom
    Dicom image series as 3D

    Recognized file extensions: .DCM, .dcm

    Supported element types:
        signed 16 bit, unsigned 16 bit

hdf5
    HDF5 3D image IO

    Recognized file extensions: .H5, .h5

    Supported element types:
        binary data, signed 8 bit, unsigned 8 bit, signed 16 bit, unsigned 16 bit, signed 32 bit, unsigned 32 bit, signed 64 bit, unsigned 64 bit, floating point 32 bit, floating point 64 bit

inria
    INRIA image

    Recognized file extensions: .INR, .inr

    Supported element types:
        signed 8 bit, unsigned 8 bit, signed 16 bit, unsigned 16 bit, signed 32 bit, unsigned 32 bit, floating point 32 bit, floating point 64 bit

mhd MetaIO 3D image IO using the VTK implementation (experimental).

    Recognized file extensions: .MHA, .MHD, .mha, .mhd

    Supported element types:
        signed 8 bit, unsigned 8 bit, signed 16 bit, unsigned 16 bit, signed 32 bit, unsigned 32 bit, floating point 32 bit, floating point 64 bit

nifti
    NIFTI-1 3D image IO. The orientation is transformed in the same way like it is done with 'dicomtonifti --no-reorder' from the vtk-dicom package.

    Recognized file extensions: .NII, .nii

    Supported element types:
        signed 8 bit, unsigned 8 bit, signed 16 bit, unsigned 16 bit, signed 32 bit, unsigned 32 bit, signed 64 bit, unsigned 64 bit, floating point 32 bit, floating point 64 bit

vff VFF Sun raster format

    Recognized file extensions: .VFF, .vff

    Supported element types:
        unsigned 8 bit, signed 16 bit

vista
    Vista 3D

    Recognized file extensions: .-, .V, .VISTA, .v, .vista

    Supported element types:
        binary data, signed 8 bit, unsigned 8 bit, signed 16 bit, unsigned 16 bit, signed 32 bit, unsigned 32 bit, floating point 32 bit, floating point 64 bit

vti 3D image VTK-XML in- and output (experimental).

    Recognized file extensions: .VTI, .vti

    Supported element types:
        signed 8 bit, unsigned 8 bit, signed 16 bit, unsigned 16 bit, signed 32 bit, unsigned 32 bit, floating point 32 bit, floating point 64 bit

vtk 3D VTK image legacy in- and output (experimental).

    Recognized file extensions: .VTK, .VTKIMAGE, .vtk, .vtkimage

    Supported element types:
        signed 8 bit, unsigned 8 bit, signed 16 bit, unsigned 16 bit, signed 32 bit, unsigned 32 bit, floating point 32 bit, floating point 64 bit

EXAMPLE
Run the segmentation on image test.png using three classes, local regions of 40 pixels (grid width 20 pixels), and a class ignore threshold of 0.01.

mia-3dsegment-local-cmeans -i test.png -o label.png -n 3 -g 20 -t 0.01

AUTHOR(s)
Gert Wollny

COPYRIGHT
This software is Copyright (c) 1999-2015 Leipzig, Germany and Madrid, Spain. It comes with ABSOLUTELY NO WARRANTY and you may redistribute it under the terms of the GNU GENERAL PUBLIC LICENSE Version 3 (or later). For more information run the program with the option '--copyright'.