SimpleITK uses JSON files to wrap ITK filters. A template file consists of a single data object {} containing string keys and various value types (strings, numbers, lists [], or sub-objects {}).
Example of a LaplacianRecursiveGaussian filter definition:
{
"name" : "LaplacianRecursiveGaussianImageFilter",
"template_code_filename" : "ImageFilter",
"template_test_filename" : "ImageFilter",
"doc" : "",
"number_of_inputs" : 1,
"pixel_types" : "BasicPixelIDTypeList",
"output_pixel_type" : "float",
"members" : [
{
"name" : "Sigma",
"type" : "double",
"default" : "1.0",
"doc" : "",
"briefdescriptionSet" : "",
"detaileddescriptionSet" : "Set Sigma value. Sigma is measured in the units of image spacing.",
"briefdescriptionGet" : "",
"detaileddescriptionGet" : "Set Sigma value. Sigma is measured in the units of image spacing."
}
],
"tests" : [
{
"tag" : "default",
"description" : "Simply run with default settings",
"settings" : [],
"tolerance" : 0.0001,
"inputs" : [
"Input/RA-Float.nrrd"
]
}
],
"briefdescription" : "Computes the Laplacian of Gaussian (LoG) of an image.",
"detaileddescription" : "Computes the Laplacian of Gaussian (LoG) of an image by convolution with the second derivative of a Gaussian.",
"itk_module" : "ITKImageFeature",
"itk_group" : "ImageFeature"
}