Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
vtkMRMLColorLogic.h
Go to the documentation of this file.
1/*=auto=========================================================================
2
3 Portions (c) Copyright 2005 Brigham and Women's Hospital (BWH) All Rights Reserved.
4
5 See COPYRIGHT.txt
6 or http://www.slicer.org/copyright/copyright.txt for details.
7
8=========================================================================auto=*/
9
10#ifndef __vtkMRMLColorLogic_h
11#define __vtkMRMLColorLogic_h
12
13// MRMLLogic includes
15#include "vtkMRMLLogicExport.h"
16
17// MRML includes
25
26// STD includes
27#include <cstdlib>
28#include <vector>
29
34class VTK_MRML_LOGIC_EXPORT vtkMRMLColorLogic : public vtkMRMLAbstractLogic
35{
36public:
37
41 void PrintSelf(ostream& os, vtkIndent indent) override;
42
132 virtual void AddDefaultColorNodes();
133
138
140 static const char * GetColorTableNodeID(int type);
141
143 static const char * GetdGEMRICColorNodeID(int type);
144
146 static const char * GetPETColorNodeID(int type);
147
151 static const char * GetProceduralColorNodeID(const char *name);
152
157 static const char * GetFileColorNodeID(const char *fileName);
158 static std::string GetFileColorNodeSingletonTag(const char * fileName);
159
161 virtual const char * GetDefaultVolumeColorNodeID();
162
164 virtual const char * GetDefaultLabelMapColorNodeID();
165
167 virtual const char * GetDefaultEditorColorNodeID();
168
170 virtual const char * GetDefaultModelColorNodeID();
171
173 virtual const char * GetDefaultChartColorNodeID();
174
176 virtual const char * GetDefaultPlotColorNodeID();
177
179 void AddColorFile(const char *fileName, std::vector<std::string> *Files);
180
194 vtkMRMLColorNode* LoadColorFile(const char *fileName, const char *nodeName = nullptr, vtkMRMLMessageCollection* userMessages = nullptr, bool userType=false);
195
197 vtkGetStringMacro(UserColorFilePaths);
198 vtkSetStringMacro(UserColorFilePaths);
199
203 static vtkMRMLColorTableNode* CopyNode(vtkMRMLColorNode* colorNode, const char* copyName);
204
210 static vtkMRMLProceduralColorNode* CopyProceduralNode(vtkMRMLColorNode* colorNode, const char* copyName);
211
212protected:
215 // disable copy constructor and operator
218
220 void SetMRMLSceneInternal(vtkMRMLScene* newScene) override;
221
224 virtual void OnMRMLSceneNewEvent();
225
232 vtkMRMLColorTableNode* CreateDefaultFileNode(const std::string& colorname);
233 vtkMRMLColorTableNode* CreateUserFileNode(const std::string& colorname);
234 vtkMRMLColorTableNode* CreateFileNode(const char* fileName, vtkMRMLMessageCollection* userMessages = nullptr, bool userType = false);
235 vtkMRMLProceduralColorNode* CreateProceduralFileNode(const char* fileName, vtkMRMLMessageCollection* userMessages = nullptr, bool userType = false);
236
240 void AddPETNode(int type);
241 void AddDGEMRICNode(int type);
243 void AddUserFileNode(int i);
244
250
251 virtual std::vector<std::string> FindDefaultColorFiles();
252 virtual std::vector<std::string> FindUserColorFiles();
253
256 static const char * GetColorNodeID(vtkMRMLColorNode* colorNode);
257
262 std::vector<std::string> ColorFiles;
263
266 std::vector<std::string> UserColorFiles;
271
272 static std::string TempColorNodeID;
273
274 std::string RemoveLeadAndTrailSpaces(std::string);
275};
276
277#endif
virtual const char * GetDefaultPlotColorNodeID()
Return a default color node id for a plot.
virtual void AddDefaultColorNodes()
Add default color nodes.
vtkMRMLColorNode * LoadColorFile(const char *fileName, const char *nodeName=nullptr, vtkMRMLMessageCollection *userMessages=nullptr, bool userType=false)
vtkMRMLColorTableNode * CreateLabelsNode()
static vtkMRMLColorTableNode * CopyNode(vtkMRMLColorNode *colorNode, const char *copyName)
vtkMRMLProceduralColorNode * CreateProceduralFileNode(const char *fileName, vtkMRMLMessageCollection *userMessages=nullptr, bool userType=false)
static std::string GetFileColorNodeSingletonTag(const char *fileName)
void AddDefaultTableNode(int i)
void AddDefaultProceduralNodes()
static const char * GetColorTableNodeID(int type)
Return the default color table node id for a given type.
std::string RemoveLeadAndTrailSpaces(std::string)
virtual const char * GetDefaultVolumeColorNodeID()
Return a default color node id for a volume.
std::vector< std::string > ColorFiles
virtual std::vector< std::string > FindUserColorFiles()
void PrintSelf(ostream &os, vtkIndent indent) override
static const char * GetColorNodeID(vtkMRMLColorNode *colorNode)
static const char * GetFileColorNodeID(const char *fileName)
Return a default color node id for a file based node, based on the file name.
static vtkMRMLColorLogic * New()
The Usual vtk class functions.
static const char * GetPETColorNodeID(int type)
Return the default PET color node id for a given type.
std::vector< std::string > UserColorFiles
void SetMRMLSceneInternal(vtkMRMLScene *newScene) override
Reimplemented to listen to specific scene events.
virtual std::vector< std::string > FindDefaultColorFiles()
void AddUserFileNode(int i)
static const char * GetdGEMRICColorNodeID(int type)
Return the default dGEMRIC color node id for a given type.
vtkMRMLColorTableNode * CreateDefaultFileNode(const std::string &colorname)
void operator=(const vtkMRMLColorLogic &)
void AddColorFile(const char *fileName, std::vector< std::string > *Files)
Add a file to the input list Files, checking first for null, duplicates.
void AddDGEMRICNode(int type)
void AddDefaultFileNodes()
vtkMRMLProceduralColorNode * CreateRandomNode()
vtkMRMLColorTableNode * CreateDefaultTableNode(int type)
vtkMRMLdGEMRICProceduralColorNode * CreatedGEMRICColorNode(int type)
static std::string TempColorNodeID
virtual const char * GetDefaultModelColorNodeID()
Return a default color node id for a model.
vtkMRMLColorTableNode * CreateUserFileNode(const std::string &colorname)
virtual const char * GetDefaultChartColorNodeID()
Return a default color node id for a chart.
virtual const char * GetDefaultEditorColorNodeID()
Return a default color node id for the editor.
void AddDefaultFileNode(int i)
~vtkMRMLColorLogic() override
static vtkMRMLProceduralColorNode * CopyProceduralNode(vtkMRMLColorNode *colorNode, const char *copyName)
static const char * GetProceduralColorNodeID(const char *name)
Return a default color node id for a procedural color node.
vtkMRMLPETProceduralColorNode * CreatePETColorNode(int type)
vtkMRMLProceduralColorNode * CreateRedGreenBlueNode()
void AddPETNode(int type)
void AddDefaultTableNodes()
vtkMRMLColorLogic(const vtkMRMLColorLogic &)
virtual void RemoveDefaultColorNodes()
Remove default color nodes.
virtual void OnMRMLSceneNewEvent()
virtual const char * GetDefaultLabelMapColorNodeID()
Return a default color node id for a label map.
vtkMRMLColorTableNode * CreateFileNode(const char *fileName, vtkMRMLMessageCollection *userMessages=nullptr, bool userType=false)
Abstract MRML node to represent color information.
MRML node to represent discrete color information.
MRML node to represent procedurally defined color information.
A set of MRML Nodes that supports serialization and undo/redo.
MRML node to represent procedurally defined color information.