{
    "camitk": {
        "extensions": {
            "actions": [
                {
                    "classMembers": "\n    // Generate a list of colors for the generated meshes\n    static QColor nextColor();\n    // Parse the list of label values\n    QList<int> parseLabelValues(QString labels);",
                    "classification": {
                        "family": "Reconstruction",
                        "tags": [
                            "Label Image",
                            "Marching Cubes",
                            "Flying Edges"
                        ]
                    },
                    "componentClass": "ImageComponent",
                    "description": "Build meshes from each label in the target image using the marching cubes or flying edges method.\nThe minimum voxel value is considered as the background value and no mesh is created for it.\nWarning: by default the created meshes are set as unmodified (you won't be warned when they are being closed without saving them).",
                    "gui": "Default Action GUI",
                    "headerIncludes": "#include <QColor>\n#include <QList>",
                    "name": "Meshes From Image",
                    "notEmbedded": false,
                    "parameters": [
                        {
                            "defaultValue": 0,
                            "description": "Choose method to compute mesh from image labels",
                            "enumValues": [
                                "Marching Cubes",
                                "Flying Edges"
                            ],
                            "group": "",
                            "name": "Method",
                            "readOnly": false,
                            "type": "enum",
                            "unit": ""
                        },
                        {
                            "defaultValue": true,
                            "description": "Smoothes the resulting mesh using a windowed sinc function interpolation kernel (see also parameters iterations, passband and feature angle)",
                            "group": "Smoothing",
                            "name": "Smooth Meshes",
                            "readOnly": false,
                            "type": "bool",
                            "unit": ""
                        },
                        {
                            "defaultValue": 17,
                            "description": "See vtkWindowedSincPolyDataFilter documentation",
                            "group": "Smoothing",
                            "maximum": 100,
                            "minimum": 1,
                            "name": "Iterations",
                            "readOnly": false,
                            "singleStep": 0.001,
                            "type": "int",
                            "unit": ""
                        },
                        {
                            "decimals": 4,
                            "defaultValue": 0.001,
                            "description": "See vtkWindowedSincPolyDataFilter documentation",
                            "group": "Smoothing",
                            "maximum": 0.5,
                            "minimum": 0.0001,
                            "name": "Passband",
                            "readOnly": false,
                            "singleStep": 0.001,
                            "type": "double",
                            "unit": ""
                        },
                        {
                            "decimals": 2,
                            "defaultValue": 120,
                            "description": "See vtkWindowedSincPolyDataFilter documentation",
                            "group": "Smoothing",
                            "maximum": 360,
                            "minimum": 0,
                            "name": "Feature Angle",
                            "readOnly": false,
                            "singleStep": 0,
                            "type": "double",
                            "unit": "°"
                        },
                        {
                            "defaultValue": "\"\"",
                            "description": "List of labels that will be used to build meshes (e.g. 2,5,7-9,12-15) - Leave empty for all labels",
                            "group": "",
                            "name": "Selection Of Label Values",
                            "readOnly": false,
                            "regExp": "",
                            "type": "QString",
                            "unit": ""
                        }
                    ]
                }
            ],
            "alwaysRebuild": true,
            "applications": [
            ],
            "components": [
            ],
            "contact": {
                "author": "Manik Bhattacharjee",
                "email": "manik.bhattacharjee@univ-grenoble-alpes.fr"
            },
            "description": "This extension includes an action to create meshes from a label image.",
            "generationType": "Standard",
            "libraries": [
            ],
            "license": "LGPL-3 CamiTK",
            "name": "Multilabel reconstruction",
            "viewers": [
            ]
        },
        "timestamp": "2025-07-04T17:42:24",
        "version": "camitk-6.0"
    }
}
