diff --git a/src/Plugins/OrientationAnalysis/docs/ComputeIPFColorsFilter.md b/src/Plugins/OrientationAnalysis/docs/ComputeIPFColorsFilter.md index 66a6c44479..1ed61aafd3 100644 --- a/src/Plugins/OrientationAnalysis/docs/ComputeIPFColorsFilter.md +++ b/src/Plugins/OrientationAnalysis/docs/ComputeIPFColorsFilter.md @@ -6,7 +6,7 @@ Processing (Crystallography) ## Description -This **Filter** will generate *inverse pole figure* (IPF) colors for cubic, hexagonal or trigonal crystal structures. The user can enter the *Reference Direction*, which defaults to [001]. The **Filter** also has the option to apply a black color to all "bad" **Elements**, as defined by a boolean *mask* array, which can be generated using the Threshold Objects **Filter**. +This **Filter** will generate *inverse pole figure* (IPF) colors. The user can enter the *Reference Direction*, which defaults to [001]. The **Filter** also has the option to apply a black color to all "bad" **Elements**, as defined by a boolean *mask* array, which can be generated using the Threshold Objects **Filter** or any other filter that generates a "mask" of the data and outputs either a bool or uint8 array. ### Originating Data Notes @@ -14,9 +14,14 @@ This **Filter** will generate *inverse pole figure* (IPF) colors for cubic, hexa + If the data originates from a TSL .ang file, then **Elements** that the TSL software could not reliably identify the Euler angles for will have a "Fit of Solution" = 180 and/or an "Image Quality" = 0.0. + This means that when the user runs some sort of threshold **Filter** the *mask* will be those **Elements** that have an Image Quality > 0 and/or Fit < 180.0 + HKL (.ctf file) - + If the data originates from an HKL (or Bruker) system (.ctf file) then bad voxels can typically be found by setting "Error" > 0 + + If the data originates from an HKL (or Bruker) system (.ctf file) then unindexed voxels can typically be found by setting "Error" > 0 + This means that when the user runs some sort of threshold **Filter** the *mask* will be those **Elements** that have an Error = 0 + +### IPF Legends + +IPF Legends for most all of the Laue classes can be found in the Data/OrientationAnalysis folder that comes with DREAM3D-NX distributions. They are very high resolution images and you are free to use them in any published work. + ![IPF Color Triangle](Images/IPFFilterLegend.png) ![Example Data Set](Images/IPFColor_1.png) diff --git a/src/Plugins/OrientationAnalysis/src/OrientationAnalysis/Filters/ComputeIPFColorsFilter.cpp b/src/Plugins/OrientationAnalysis/src/OrientationAnalysis/Filters/ComputeIPFColorsFilter.cpp index aa147ed279..a339181cf6 100644 --- a/src/Plugins/OrientationAnalysis/src/OrientationAnalysis/Filters/ComputeIPFColorsFilter.cpp +++ b/src/Plugins/OrientationAnalysis/src/OrientationAnalysis/Filters/ComputeIPFColorsFilter.cpp @@ -69,24 +69,24 @@ Parameters ComputeIPFColorsFilter::parameters() const params.insertSeparator(Parameters::Separator{"Optional Data Mask"}); params.insertLinkableParameter(std::make_unique(k_UseMask_Key, "Use Mask Array", "Whether to assign a black color to 'bad' Elements", false)); - params.insert(std::make_unique(k_MaskArrayPath_Key, "Cell Mask Array", "Path to the data array used to define Elements as good or bad.", DataPath(), + params.insert(std::make_unique(k_MaskArrayPath_Key, "Mask Array", "Path to the data array used to define Elements as good or bad.", DataPath(), ArraySelectionParameter::AllowedTypes{DataType::boolean, DataType::uint8}, ArraySelectionParameter::AllowedComponentShapes{{1}})); // Associate the Linkable Parameter(s) to the children parameters that they control params.linkParameters(k_UseMask_Key, k_MaskArrayPath_Key, true); - params.insertSeparator(Parameters::Separator{"Input Cell Data"}); - params.insert(std::make_unique(k_CellEulerAnglesArrayPath_Key, "Cell Euler Angles", "Three angles defining the orientation of the Element in Bunge convention (Z-X-Z)", + params.insertSeparator(Parameters::Separator{"Input Data"}); + params.insert(std::make_unique(k_CellEulerAnglesArrayPath_Key, "Euler Angles", "Three angles defining the orientation of the Element in Bunge convention (Z-X-Z)", DataPath{}, ArraySelectionParameter::AllowedTypes{DataType::float32}, ArraySelectionParameter::AllowedComponentShapes{{3}})); - params.insert(std::make_unique(k_CellPhasesArrayPath_Key, "Cell Phases", "Specifies to which Ensemble each cell belongs", DataPath{}, + params.insert(std::make_unique(k_CellPhasesArrayPath_Key, "Phases", "Specifies to which Ensemble each cell belongs", DataPath{}, ArraySelectionParameter::AllowedTypes{DataType::int32}, ArraySelectionParameter::AllowedComponentShapes{{1}})); params.insertSeparator(Parameters::Separator{"Input Ensemble Data"}); params.insert(std::make_unique(k_CrystalStructuresArrayPath_Key, "Crystal Structures", "Enumeration representing the crystal structure for each Ensemble", DataPath({"Ensemble Data", "CrystalStructures"}), ArraySelectionParameter::AllowedTypes{DataType::uint32}, ArraySelectionParameter::AllowedComponentShapes{{1}})); - params.insertSeparator(Parameters::Separator{"Output Cell Data"}); - params.insert( - std::make_unique(k_CellIPFColorsArrayName_Key, "IPF Colors", "The name of the array containing the RGB colors encoded as unsigned chars for each Element", "IPFColors")); + params.insertSeparator(Parameters::Separator{"Output Data"}); + params.insert(std::make_unique(k_CellIPFColorsArrayName_Key, "IPF Colors", + "The name of the array containing the RGB colors encoded as RGB unsigned chars (x3) for each Element", "IPFColors")); return params; }