Usage
You can use the graphomics library into your Python scripts or directly via command line.
Command Line Interface
The graphomics package could be easily used via command line by simply calling the graphomics program.
The full list of available flags for the customization of the command line could be obtained by calling:
$ graphomics --help
usage: pyGraphomics [-h] [--version] [--nth NTH] [--config CONFIG] [--input MASK_FILEPATH]
[--skeleton SKELETON_FILEPATH] [--label LABEL_FILEPATH] [--weight]
[--wextractor {NodePairwiseDistanceFilter,EdgeLengthPathsFilter,EdgeLabelWeightFilter}]
[--topology] [--spatial] [--centrality] --output OUTPUT_FILENAME
Graphomics library - Open-source python package for the extraction of Graphomics features from 2D and 3D binary masks
optional arguments:
-h, --help show this help message and exit
--version, -v Get the current version installed
--nth NTH, -j NTH Number of threads to use during the filter execution (when possible)
--config CONFIG, -c CONFIG
Configuration file in Yaml format for the pipeline execution
--input MASK_FILEPATH, -i MASK_FILEPATH
Input filename or path on which load the binary mask of the shape. Ref
https://simpleitk.readthedocs.io/en/master/IO.html for the list of supported format.
--skeleton SKELETON_FILEPATH, -k SKELETON_FILEPATH
Input filename or path on which load the binary skeleton of the shape. Ref
https://simpleitk.readthedocs.io/en/master/IO.html for the list of supported format.
--label LABEL_FILEPATH, -l LABEL_FILEPATH
Input filename or path on which load the labelmap to use for the network weighing. Ref
https://simpleitk.readthedocs.io/en/master/IO.html for the list of supported format.
--weight, -w Enable network weights during the features extraction
--wextractor {NodePairwiseDistanceFilter,EdgeLengthPathsFilter,EdgeLabelWeightFilter}, -e {NodePairwiseDistanceFilter,EdgeLengthPathsFilter,EdgeLabelWeightFilter}
Network weight extractor model to use during the features extraction
--topology, -T Enable Topological Graphomic features extraction
--spatial, -S Enable Spatial Graphomic features extraction
--centrality, -C Enable Centrality Graphomic features extraction
--output OUTPUT_FILENAME, -o OUTPUT_FILENAME
Output filename in which save the graphomic features as JSON. If a file with the same name
already exists it will be overwritten by a new one
pyGraphomics Python package v0.0.1
Python script
A complete list of beginner-examples for the build of a custom graphomic pipeline could be found here.
For more advanced users, we suggest to take a look at the example notebooks, in which are reported more sophisticated applications and real-world examples.
For sake of completeness, a simple graphomic pipeline could be obtained by the following snippet:
from graphomics import LoadImageFileInAnyFormat
from graphomics import GraphomicsFeatureExtractor
# load the medical image in any SimpleITK supported fmt
img = LoadImageFileInAnyFormat(
filename='/path/to/medical/image.nii.gz',
binarize=True
)
# define the graphomic filter
extractor = GraphomicsFeatureExtractor()
# enable all the available graphomic features
extractor.EnableAllFeatures()
# set the input image-mask
extractor.SetMaskImage(mask=img)
# execute the filter
extractor.Execute()
# get the resulting graphomic features computed
graphomic_features = extractor.GetFeatures()
# display the results
print(graphomic_features)