Difference between revisions of "Documentation/Nightly/Developers/FAQ/MRML"

From Slicer Wiki
Jump to: navigation, search
Line 4: Line 4:
 
='''Developer FAQ: {{{1}}}'''=
 
='''Developer FAQ: {{{1}}}'''=
 
</includeonly>
 
</includeonly>
 +
 +
== How to add a MRML node into the scene ? ==
 +
 +
* Generic pattern
 +
<code>
 +
vtkNew<vtkMRML???Node> nodeToAdd;
 +
...
 +
mrmlScene->AddNode(nodeToAdd.GetPointer());
 +
</code>
 +
 +
* Add a polydata to the scene
 +
<code>
 +
vtkNew<vtkMRMLModelNode> modelNode;
 +
modelNode->SetPolyData(polyData);
 +
mrmlScene->AddNode(modelNode.GetPointer());
 +
</code>
 +
 +
* Load a polyData from file
 +
<code>
 +
vtkSlicerModelsLogic* modelsLogic = ...;
 +
//modelsLogic->SetMRMLScene(mrmlScene);
 +
modelsLogic->AddModel(polyDataFileName);
 +
</code>
  
 
== What to do if you get 'No LookupTable was set but number of components in input doesn't match OutputFormat' when loading a MRML scene ? ==
 
== What to do if you get 'No LookupTable was set but number of components in input doesn't match OutputFormat' when loading a MRML scene ? ==

Revision as of 17:08, 19 May 2014

Home < Documentation < Nightly < Developers < FAQ < MRML


For the latest Slicer documentation, visit the read-the-docs.


MRML

How to add a MRML node into the scene ?

  • Generic pattern

vtkNew<vtkMRML???Node> nodeToAdd;
...
mrmlScene->AddNode(nodeToAdd.GetPointer());

  • Add a polydata to the scene

vtkNew<vtkMRMLModelNode> modelNode;
modelNode->SetPolyData(polyData);
mrmlScene->AddNode(modelNode.GetPointer());

  • Load a polyData from file

vtkSlicerModelsLogic* modelsLogic = ...;
//modelsLogic->SetMRMLScene(mrmlScene);
modelsLogic->AddModel(polyDataFileName);

What to do if you get 'No LookupTable was set but number of components in input doesn't match OutputFormat' when loading a MRML scene ?

If you get the following error messages:

ERROR: In /path/to/VTK/Imaging/vtkImageMapToColors.cxx, line 153
vtkImageMapToColors (0x268f190): RequestInformation: No LookupTable was set but number of components in input doesn't match OutputFormat, therefore input can't be passed through!

ERROR: In /path/to/VTK/Imaging/vtkImageExtractComponents.cxx, line 239
vtkImageExtractComponents (0x26947e0): Execute: Component 1 is not in input.

ERROR: In /path/to/VTK/Imaging/vtkImageExtractComponents.cxx, line 239
vtkImageExtractComponents (0x26947e0): Execute: Component 1 is not in input.

[...]

Make sure the colorNodeRef attribute is set on each VolumeDisplay node.