Difference between revisions of "Documentation/Nightly/Modules/Colors"
(10 intermediate revisions by the same user not shown) | |||
Line 26: | Line 26: | ||
| | | | ||
− | The Colors Module manages color | + | The Colors Module manages MRML color nodes. |
− | Color look up tables are used by mappers to translate between an integer and a | + | Color nodes can contain discrete color look up tables or procedurally defined color transfer functions. |
+ | |||
+ | Color look up tables are used by mappers to translate between an integer and a color value for display of models and volumes. | ||
Slicer supports three kinds of tables: | Slicer supports three kinds of tables: | ||
Line 34: | Line 36: | ||
# Parametric tables, defined by an equation, such as the fMRIPA table. | # Parametric tables, defined by an equation, such as the fMRIPA table. | ||
# Discrete tables, such as those read in from a file. | # Discrete tables, such as those read in from a file. | ||
+ | |||
+ | Color transfer functions are used to map scalar values, which can be integers or float/double numbers, into color values for display of models and volumes. | ||
<!-- | <!-- | ||
You can specify a directory from which to read color files using the Edit -> Application Settings window, Module Settings frame, in the User defined color file paths section. --> | You can specify a directory from which to read color files using the Edit -> Application Settings window, Module Settings frame, in the User defined color file paths section. --> | ||
− | You can create a duplicate of a color table to allow editing the names, values and color by clicking on the [[image:Slicer43-Colors-FolderPlus.jpeg]] icon next to the drop down | + | You can create a duplicate of a color table to allow editing the names, values and color by clicking on the [[image:Slicer43-Colors-FolderPlus.jpeg]] icon next to the drop down menu of color table nodes. You can then save the new color table via the File -> Save interface. |
You can load a color table file from the File -> Add Data dialog. | You can load a color table file from the File -> Add Data dialog. | ||
===File format=== | ===File format=== | ||
− | The color file format is a plain text file with the .txt or .ctbl extension. Each line in the file has: | + | The color table file format is a plain text file with the .txt or .ctbl extension. Each line in the file has: |
label name R G B A | label name R G B A | ||
Line 55: | Line 59: | ||
2 tumor 255 128 0 255 | 2 tumor 255 128 0 255 | ||
... | ... | ||
+ | |||
+ | A procedurally defined color node has the file extension .txt (coming soon: an xm version with the extension .cxml). It defines a number of points in a color transfer function using the following format: | ||
+ | |||
+ | position R G B | ||
+ | |||
+ | position is a floating point number that defines the scalar range over which the mapping is valid. RGB are color values from 0.0 to 1.0. | ||
===Custom LUTs=== | ===Custom LUTs=== | ||
Line 62: | Line 72: | ||
The colors are divided up into categories: | The colors are divided up into categories: | ||
+ | {|style="width: 100%" | ||
+ | | | ||
* Discrete | * Discrete | ||
− | ** [[image:Discretelabels.png]] Labels: A legacy | + | ** [[image:Discretelabels.png]] Labels: A legacy color table that contains some anatomical mapping |
− | ** [[image:DiscreteFullRainbow.png ]] FullRainbow: A full rainbow of 256 colors, goes from red to red with all rainbow colors in between. Useful for | + | ** [[image:DiscreteFullRainbow.png ]] FullRainbow: A full rainbow of 256 colors, goes from red to red with all rainbow colors in between. Useful for colorful display of a label map. |
** [[image:DiscreteGrey.png]] Grey: A grey scale ranging from black at 0 to white at 255. Useful for displaying MRI volumes. | ** [[image:DiscreteGrey.png]] Grey: A grey scale ranging from black at 0 to white at 255. Useful for displaying MRI volumes. | ||
− | ** [[image:DiscreteIron.png]] Iron: A scale from red to yellow, 157 | + | ** [[image:DiscreteIron.png]] Iron: A scale from red to yellow, 157 colors. |
− | ** [[image:DiscreteRainbow.png]] Rainbow: Goes from red to purple, passing through the colors of the rainbow in between. Useful for a colorful display of a label map | + | ** [[image:DiscreteRainbow.png]] Rainbow: Goes from red to purple, passing through the colors of the rainbow in between. Useful for a colorful display of a label map. |
** [[image:DiscreteOcean.png]] Ocean: A lighter blue scale of 256 values, useful for showing registration results. | ** [[image:DiscreteOcean.png]] Ocean: A lighter blue scale of 256 values, useful for showing registration results. | ||
− | ** [[image:DiscreteDesert.png]] Desert: Red to yellow/orange scale, 256 | + | ** [[image:DiscreteDesert.png]] Desert: Red to yellow/orange scale, 256 colous. |
− | ** [[image:DiscreteInvertedGrey.png]] InvertedGrey: A white to black scale, 256 | + | ** [[image:DiscreteInvertedGrey.png]] InvertedGrey: A white to black scale, 256 colors, useful to highlight negative versions, or to flip intensities of signal values. |
− | ** [[image:DiscreteReverseRainbow.png]] ReverseRainbow: A | + | ** [[image:DiscreteReverseRainbow.png]] ReverseRainbow: A colorful display option, 256 colors going from purple to red |
** [[image:DiscretefMRI.png]] fMRI: A combination of Ocean (0-22) and Desert (23-42), useful for displaying functional MRI volumes (highlights activation) | ** [[image:DiscretefMRI.png]] fMRI: A combination of Ocean (0-22) and Desert (23-42), useful for displaying functional MRI volumes (highlights activation) | ||
** [[image:DiscretefMRIPA.png]] fMRIPA: A small fMRI positive activation scale going from red to yellow from 0-19, useful for displaying functional MRI volumes when don't need the blue of the fMRI scale. | ** [[image:DiscretefMRIPA.png]] fMRIPA: A small fMRI positive activation scale going from red to yellow from 0-19, useful for displaying functional MRI volumes when don't need the blue of the fMRI scale. | ||
− | ** [[image:DiscreteRandom.png]] Random: A random selection of 256 rgb | + | ** [[image:DiscreteRandom.png]] Random: A random selection of 256 rgb colors, useful to distinguish between a small number of labeled regions (especially outside of the brain) |
** [[image:DiscreteRed.png]] Red: A red scale of 256 values. Useful for layering with Cyan | ** [[image:DiscreteRed.png]] Red: A red scale of 256 values. Useful for layering with Cyan | ||
** [[image:DiscreteGreen.png]] Green: A green scale of 256 values, useful for layering with Magenta | ** [[image:DiscreteGreen.png]] Green: A green scale of 256 values, useful for layering with Magenta | ||
Line 81: | Line 93: | ||
** [[image:DiscreteCyan.png]] Cyan: A cyan ramp of 256 values, from black to cyan, complementary ramp to red, layering yeilds gray | ** [[image:DiscreteCyan.png]] Cyan: A cyan ramp of 256 values, from black to cyan, complementary ramp to red, layering yeilds gray | ||
** [[image:DiscreteMagenta.png]] Magenta: A magenta scale of 256 colors from black to magenta, complementary ramp to green, layering yeilds gray | ** [[image:DiscreteMagenta.png]] Magenta: A magenta scale of 256 colors from black to magenta, complementary ramp to green, layering yeilds gray | ||
− | ** [[image:DiscreteWarm1.png]] Warm1: A scale from yellow to red, of 256 colors, ramp of warm | + | ** [[image:DiscreteWarm1.png]] Warm1: A scale from yellow to red, of 256 colors, ramp of warm colors that's complementary to Cool1 |
− | ** [[image:DiscreteWarm2.png]] Warm2: A scale from green to yellow, 256 | + | ** [[image:DiscreteWarm2.png]] Warm2: A scale from green to yellow, 256 colors, ramp of warm colors that's complementary to Cool2 |
− | ** [[image:DiscreteWarm3.png]] Warm3: A scale from cyan to green, 256 | + | ** [[image:DiscreteWarm3.png]] Warm3: A scale from cyan to green, 256 colors, ramp of warm colors that's complementary to Cool3 |
− | ** [[image:DiscreteCool1.png]] Cool1: A scale from blue to cyan, 256 | + | ** [[image:DiscreteCool1.png]] Cool1: A scale from blue to cyan, 256 colors, ramp of cool colors that's complementary to Warm1 |
− | ** [[image:DiscreteCool2.png]] Cool2: A scale from magenta to blue, 256 | + | ** [[image:DiscreteCool2.png]] Cool2: A scale from magenta to blue, 256 colous, ramp of cool colors that's complementary to Warm2 |
− | ** [[image:DiscreteCool3.png]] Cool3: A scale from red to magenta, ramp of cool | + | ** [[image:DiscreteCool3.png]] Cool3: A scale from red to magenta, ramp of cool colors that's complementary to Warm3 |
** [[image:DiscreteRandomIntegers.png]] RandomIntegers: A random scale with 1000 entries. | ** [[image:DiscreteRandomIntegers.png]] RandomIntegers: A random scale with 1000 entries. | ||
* Shade: | * Shade: | ||
** [[image:ShadeWarmShade1.png]] WarmShade1: A scale from black to red, of 256 colors, ramp of warm colors with variation in value that's complementary to CoolShade1 | ** [[image:ShadeWarmShade1.png]] WarmShade1: A scale from black to red, of 256 colors, ramp of warm colors with variation in value that's complementary to CoolShade1 | ||
** [[image:ShadeWarmShade2.png]] WarmShade2: A scale from black to yellow, through green, of 256 colors, ramp of warm colors with variation in value that's complementary to CoolShade2 | ** [[image:ShadeWarmShade2.png]] WarmShade2: A scale from black to yellow, through green, of 256 colors, ramp of warm colors with variation in value that's complementary to CoolShade2 | ||
− | ** [[image:ShadeWarmShade3.png]] WarmShade3: A scale from black to green, of 256 | + | ** [[image:ShadeWarmShade3.png]] WarmShade3: A scale from black to green, of 256 colors, ramp of warm colors with variation in value that's complementary to CoolShade3 |
− | ** [[image:ShadeCoolShade1.png]] CoolShade1: A scale from black to cyan, 256 | + | ** [[image:ShadeCoolShade1.png]] CoolShade1: A scale from black to cyan, 256 colors, ramp of cool colors with variation in value that is complementary to WarmShade1 |
− | ** [[image:ShadeCoolShade2.png]] CoolShade2: A scale from black to blue through purple, 256 colors, ramp of cool | + | ** [[image:ShadeCoolShade2.png]] CoolShade2: A scale from black to blue through purple, 256 colors, ramp of cool colors with variation in value that is complementary to WarmShade2 |
− | ** [[image:ShadeCoolShade3.png]] CoolShade3: A scale from black to magenta, 256 | + | ** [[image:ShadeCoolShade3.png]] CoolShade3: A scale from black to magenta, 256 colors, ramp of cool colors with variation in value that is complementary to WarmShade3 |
* Tint: | * Tint: | ||
− | ** [[image:TintWarmTint1.png]] WarmTint1: A scale from white to red, 256 | + | ** [[image:TintWarmTint1.png]] WarmTint1: A scale from white to red, 256 colors, ramp of warm colors with variation in saturation that's complementary to CoolTint1 |
− | ** [[image:TintWarmTint2.png]] WarmTint2: A scale from white to yellow, 256 | + | ** [[image:TintWarmTint2.png]] WarmTint2: A scale from white to yellow, 256 colors, ramp of warm colors with variation in saturation that's complementary to CoolTint2 |
− | ** [[image:TintWarmTint3.png]] WarmTint3: A scale from white to green, 256 | + | ** [[image:TintWarmTint3.png]] WarmTint3: A scale from white to green, 256 colors, ramp of warm colors with variation in saturation that's complementary to CoolTint3 |
− | ** [[image:TintCoolTint1.png]] CoolTint1: A scale from white to cyan, 256 | + | ** [[image:TintCoolTint1.png]] CoolTint1: A scale from white to cyan, 256 colors, ramp of cool colors with variations in saturation that's complementary to WarmTint1 |
− | ** [[image:TintCoolTint2.png]] CoolTint2: A scale from white to blue, 256 | + | ** [[image:TintCoolTint2.png]] CoolTint2: A scale from white to blue, 256 colors, ramp of cool colors with variations in saturation that's complementary to WarmTint2 |
− | ** [[image:TintCoolTint3.png]] CoolTint3: A scale from white to magenta, 256 | + | ** [[image:TintCoolTint3.png]] CoolTint3: A scale from white to magenta, 256 colors, ramp of cool colors with variations in saturation that's complementary to WarmTint3 |
+ | * Continuous | ||
+ | ** [[image:ContinuousRedGreenBlue.png]] RedGreenBlue: A scale defined from -6.0 to 6.0 that maps to a rainbow from red to blue through green. | ||
* FreeSurfer | * FreeSurfer | ||
− | ** [[image:FreeSurferHeat.png]] Heat: The Heat FreeSurfer | + | ** [[image:FreeSurferHeat.png]] Heat: The Heat FreeSurfer color table, shows hot spots with high activation |
− | ** [[image:FreeSurferBlueRed.png]] BlueRed: A FreeSurfer color scale, 256 | + | ** [[image:FreeSurferBlueRed.png]] BlueRed: A FreeSurfer color scale, 256 colors, from blue to red |
− | ** [[image:FreeSurferRedBlue.png]] RedBlue: A FreeSurfer color scale, 256 | + | ** [[image:FreeSurferRedBlue.png]] RedBlue: A FreeSurfer color scale, 256 colors, from red to blue |
− | ** [[image:FreeSurferRedGreen.png]] RedGreen: A FreeSurfer color scale, 256 | + | ** [[image:FreeSurferRedGreen.png]] RedGreen: A FreeSurfer color scale, 256 colors, from red to green, used to highlight sulcal curvature |
− | ** [[image:FreeSurferGreenRed.png]] GreenRed: A FreeSurfer color scale, 256 | + | ** [[image:FreeSurferGreenRed.png]] GreenRed: A FreeSurfer color scale, 256 colors, from green to red, used to highlight sulcal curvature |
** FreeSurferLabels: A color table read in from a text file, each line of the format: IntegerLabel Name R G B Alpha | ** FreeSurferLabels: A color table read in from a text file, each line of the format: IntegerLabel Name R G B Alpha | ||
* PET | * PET | ||
Line 131: | Line 145: | ||
**LightPaleChartColors: A light pale palette from Stephen Few, useful for charts. | **LightPaleChartColors: A light pale palette from Stephen Few, useful for charts. | ||
**SPL-BrainAtlas-2009-ColorFile: an updated brain segmentation color node | **SPL-BrainAtlas-2009-ColorFile: an updated brain segmentation color node | ||
+ | * File | ||
+ | ** If you load a color file from File -> Add Data, it will appear here | ||
* User Generated: A user defined color table, use the editor to specify it | * User Generated: A user defined color table, use the editor to specify it | ||
** Copies of other color tables get displayed in this category | ** Copies of other color tables get displayed in this category | ||
** If you create a new color node, it will appear here | ** If you create a new color node, it will appear here | ||
− | |||
− | |||
*GenericAnatomyColors: a list of whole body anatomy labels and useful colors for them, the default for the Editor module creating new label map volumes | *GenericAnatomyColors: a list of whole body anatomy labels and useful colors for them, the default for the Editor module creating new label map volumes | ||
*Generic Colors: a list of colors with the names being the same as the integer value for each entry | *Generic Colors: a list of colors with the names being the same as the integer value for each entry | ||
− | |[[Image: | + | |[[Image:Slicer44-Colors-Nodes.jpeg|thumb|280px|Drop down menu showing current color tables]] |
|} | |} | ||
Line 146: | Line 160: | ||
{{documentation/{{documentation/version}}/module-section|Use Cases}} | {{documentation/{{documentation/version}}/module-section|Use Cases}} | ||
− | [[Image: | + | [[Image:Slicer43-Colors-3D.jpeg|thumb|300px|Colors]] |
− | The Colors module | + | The Colors module Color Table Display panel can be popped up as a stand alone widget and used to select colors in other modules of Slicer4. |
− | * The Models module uses it to select surface model | + | * The Models module uses it to select surface model colors. |
* The Volumes module uses it to select color maps for label map volumes to control which colors are used to display the scalar values at each voxel | * The Volumes module uses it to select color maps for label map volumes to control which colors are used to display the scalar values at each voxel | ||
* The Editor uses it to select colors with which to paint on label map volumes. | * The Editor uses it to select colors with which to paint on label map volumes. | ||
+ | * Select and edit colors for [[Slicer4:2012_GenericChartColors | Charting]] | ||
<!-- ---------------------------- --> | <!-- ---------------------------- --> | ||
Line 159: | Line 174: | ||
<!-- ---------------------------- --> | <!-- ---------------------------- --> | ||
{{documentation/{{documentation/version}}/module-section|Panels and their use}} | {{documentation/{{documentation/version}}/module-section|Panels and their use}} | ||
− | |||
− | |||
− | |||
{|style="width: 100%" | {|style="width: 100%" | ||
| | | | ||
− | * | + | *'''Colors''': a drop down menu from which to select from the list of loaded color nodes |
− | + | **[image:Slicer43-Colors-FolderPlus.jpeg]] Copy Color Node button: Duplicate the current color node to edit the color entries, built-in color nodes don't allow user editing. | |
− | **Copy Color Node button: Duplicate the current color | + | * '''Color Table Display panel:''' |
− | **Number of Colors: the number of colors in the currently selected table | + | **Number of Colors: the number of colors in the currently selected table. |
− | **Hide empty Colors: | + | **Hide empty Colors: When checked, hide the unnamed color entries in the list below. |
− | ** | + | **Scalar Range: The range of scalar values that are mapped to to the full range of colors. This only changes the display range, not the values in the table. |
**Table of currently selected colors: | **Table of currently selected colors: | ||
− | ***Index: the integer value giving the index of this color in the look up table, used to match it up with a scalar value in a volume voxel | + | ***1st Column: Index: the integer value giving the index of this color in the look up table, used to match it up with a scalar value in a volume voxel. |
− | ***Color: a box showing the current | + | ***2nd Column: Color: a box showing the current color. When viewing an editable table, double click on it to bring up a color picker. |
− | ***Label: the text description of the color, often an anatomical label | + | ***Label: the text description of the color, often an anatomical label. For some tables, the name is automatically generated from the RGBA values. |
− | ***Opacity: a value between 0 and 1 describing how opaque this color is. The background | + | ***Opacity: a value between 0 and 1 describing how opaque this color is. The background color at index 0 is usually set to 0 and other colors to 1. |
| align="right" | | | align="right" | | ||
− | [[Image: | + | [[Image:Slicer44-Colors-ColorTableDisplay.jpeg|thumb|280px|Color Table Display panel]] |
|- | |- | ||
| | | | ||
− | * Scalar Bar panel: | + | * '''Continuous Display Panel''' |
− | **Display scalar bar: check this box if you wish to see a scalar bar in the 3d view that shows the range of | + | ** For Slicer default nodes this panel is not editable, make a copy to inspect the color values by clicking on the circles that determine the points of the continuous function. Click elsewhere in the color display to add new points. |
− | **'''Title properties''' control the display of the scalar bar's title text | + | ** Point: the index of this point |
− | ***Text: Title text, often showing the measurement units of mm | + | ** Color box: click on this to edit the color for this point |
− | ***Color: the color to use for the title text | + | ** Floating point number: the scalar value that maps to this color |
− | ***Opacity: the opacity of the title text | + | |
− | ***Font: the font used to display the title text | + | | align="right" | |
− | ***Style: check these boxes if you wish to adjust the style of the title text font | + | [[Image:Slicer44-Colors-ContinuousDisplay.jpeg|thumb|280px|Continuous Display panel]] |
+ | [[Image:Slicer44-Colors-ContinuousDisplayEditable.jpeg|thumb|280px|Continuous Display panel]] | ||
+ | |- | ||
+ | | | ||
+ | * '''Scalar Bar panel:''' | ||
+ | **Use color names for labels: check this box if you wish to use the names of the colors for the labels in the scalar bar widget, uncheck if you wish to use the scalar values. | ||
+ | **Display scalar bar: check this box if you wish to see a scalar bar in the 3d view that shows the range of colors for this color look up table. You can drag the widget around in the 3D window, it will resize and switch between horizontal and vertical alignments. | ||
+ | **'''Title properties''' control the display of the scalar bar's title text. | ||
+ | ***Text: Title text with the color node name, often showing the measurement units of mm. | ||
+ | ***Color: the color to use for the title text. | ||
+ | ***Opacity: the opacity of the title text. | ||
+ | ***Font: the font used to display the title text. | ||
+ | ***Style: check these boxes if you wish to adjust the style of the title text font. | ||
****bold | ****bold | ||
****italic | ****italic | ||
****shadow | ****shadow | ||
− | **'''Labels properties''' control the display of the scalar bar's label text | + | **'''Labels properties''' control the display of the scalar bar's label text, displayed along the length of the scalar bar. |
− | ***Format: a string format that controls the number of digits in the values displayed as the scalar bar labels | + | ***Format: a string format that controls the number of digits in the values displayed as the scalar bar labels, uses [http://www.cplusplus.com/reference/cstdio/printf/ standared C++ string format notation]. |
− | ***Color: the color to use for the label text | + | ***Color: the color to use for the label text. |
− | ***Opacity: the opacity of the label text | + | ***Opacity: the opacity of the label text. |
− | ***Font: the font used to display the label text | + | ***Font: the font used to display the label text. |
− | ***Style:check these boxes if you wish to adjust the style of the label text font | + | ***Style: check these boxes if you wish to adjust the style of the label text font. |
****bold | ****bold | ||
****italic | ****italic | ||
****shadow | ****shadow | ||
− | **Maximum number of colors: limit the range of | + | **Maximum number of colors: limit the range of colors displayed on the scalar bar. |
− | **Number of labels: how many labels to display along the scalar bar | + | **Number of labels: how many labels to display along the length of the scalar bar. |
| align="right" | | | align="right" | | ||
− | [[Image: | + | [[Image:Slicer44-Colors-ScalarBar.jpeg|thumb|280px|Scalar bar panel]] |
|} | |} | ||
<!-- ---------------------------- --> | <!-- ---------------------------- --> | ||
{{documentation/{{documentation/version}}/module-section|Similar Modules}} | {{documentation/{{documentation/version}}/module-section|Similar Modules}} | ||
− | * The Volumes, Editor and Models modules use the | + | * The Volumes, Editor and Models modules use the colors to adjust the display properties for label map volumes and surface models |
<!-- ---------------------------- --> | <!-- ---------------------------- --> | ||
{{documentation/{{documentation/version}}/module-section|References}} | {{documentation/{{documentation/version}}/module-section|References}} | ||
− | + | ||
+ | * [[Documentation/{{documentation/version}}/SlicerApplication/LookupTables | Slicer Application Lookup Tables]] | ||
<!-- ---------------------------- --> | <!-- ---------------------------- --> |
Latest revision as of 21:33, 13 November 2014
Home < Documentation < Nightly < Modules < Colors
For the latest Slicer documentation, visit the read-the-docs. |
Introduction and Acknowledgements
| |||||||
|
Module Description
The Colors Module manages MRML color nodes. Color nodes can contain discrete color look up tables or procedurally defined color transfer functions. Color look up tables are used by mappers to translate between an integer and a color value for display of models and volumes. Slicer supports three kinds of tables:
Color transfer functions are used to map scalar values, which can be integers or float/double numbers, into color values for display of models and volumes.
You can load a color table file from the File -> Add Data dialog. File formatThe color table file format is a plain text file with the .txt or .ctbl extension. Each line in the file has: label name R G B A label is an integer, name a string, and RGBA are 0-255. File example: # Comments if the line start with # 0 air 0 0 0 0 1 bone 255 255 255 255 whatever after the Alpha value is discarded 2 tumor 255 128 0 255 ... A procedurally defined color node has the file extension .txt (coming soon: an xm version with the extension .cxml). It defines a number of points in a color transfer function using the following format: position R G B position is a floating point number that defines the scalar range over which the mapping is valid. RGB are color values from 0.0 to 1.0. Custom LUTsYou can create custom LUTs by creating a table with the colors on the wiki, saving to file and then loading them into Slicer. CategoriesThe colors are divided up into categories: Use CasesThe Colors module Color Table Display panel can be popped up as a stand alone widget and used to select colors in other modules of Slicer4.
TutorialsN/A Panels and their use
Similar Modules
ReferencesInformation for Developers
|