Skip to content

Commit 755dfc7

Browse files
ENH: Add option to save the Counts or MRD values to an array for Pole Figures (#995)
* ENH: Add ability to save intensity data arrays as image geometries * ENH: Add option to NormalizeToMRD. Add Metadata DataArray * Use the RTree.hpp from simplnx/Utilities --------- Signed-off-by: Michael Jackson <[email protected]> Co-authored-by: Jared Duffey <[email protected]>
1 parent b1a142c commit 755dfc7

File tree

13 files changed

+1722
-151
lines changed

13 files changed

+1722
-151
lines changed

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
118118
set(FETCH_FILE_PATH "${simplnx_BINARY_DIR}/simplnx_fetch_remote_files.cmake")
119119
set_property(GLOBAL PROPERTY FETCH_FILE_PATH "${FETCH_FILE_PATH}")
120120
file(WRITE ${FETCH_FILE_PATH} "# -----------------------------------------------------------------------
121+
# This file is programmatically generated from the CMake file ${CMAKE_CURRENT_LIST_FILE}
121122
# This file has the commands to download each of the test files.
122123
# The WORKING_DIRECTORY is set to the following CMake code:
123124
# ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/$<$<CONFIG:Debug>:Debug>$<$<CONFIG:Release>:Release>

src/Plugins/OrientationAnalysis/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,9 @@ set(PLUGIN_EXTRA_SOURCES
243243
"${${PLUGIN_NAME}_SOURCE_DIR}/src/${PLUGIN_NAME}/utilities/SIMPLConversion.hpp"
244244
"${${PLUGIN_NAME}_SOURCE_DIR}/src/${PLUGIN_NAME}/utilities/TiffWriter.hpp"
245245
"${${PLUGIN_NAME}_SOURCE_DIR}/src/${PLUGIN_NAME}/utilities/TiffWriter.cpp"
246+
"${${PLUGIN_NAME}_SOURCE_DIR}/src/${PLUGIN_NAME}/utilities/delaunator.cpp"
247+
"${${PLUGIN_NAME}_SOURCE_DIR}/src/${PLUGIN_NAME}/utilities/delaunator.h"
248+
"${${PLUGIN_NAME}_SOURCE_DIR}/src/${PLUGIN_NAME}/utilities/IntersectionUtilities.hpp"
246249
)
247250
target_sources(${PLUGIN_NAME} PRIVATE ${PLUGIN_EXTRA_SOURCES})
248251
source_group(TREE "${${PLUGIN_NAME}_SOURCE_DIR}/src/${PLUGIN_NAME}/utilities" PREFIX ${PLUGIN_NAME} FILES ${PLUGIN_EXTRA_SOURCES})

src/Plugins/OrientationAnalysis/docs/WritePoleFigureFilter.md

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ IO (Output)
66

77
## Description
88

9-
This **Filter** creates a standard crystallographic pole figure image for each **Ensemble** (phase)in a selected **Data Container**. The **Filter** uses Euler angles in radians and requires the crystal structures and material names for each **Ensemble** array and the corresponding **Ensemble** Ids on the **Cells**. The **Filter** also optionally can use a *mask* array to determine which **Cells** are valid for the pole figure computation.
9+
This **Filter** creates a standard crystallographic pole figure image for each **Ensemble** (phase) in a selected **Data Container**. The **Filter** uses Euler angles in radians and requires the crystal structures and material names for each **Ensemble** array and the corresponding **Ensemble** Ids on the **Cells**. The **Filter** also optionally can use a *mask* array to determine which angles are valid for the pole figure computation.
1010

11-
In a practicale sense, this means that the following information is available to the filter:
11+
In a practical sense, this means that the following information is available to the filter:
1212

1313
- Cell Level
1414

@@ -23,17 +23,36 @@ In a practicale sense, this means that the following information is available to
2323

2424
### Algorithm Choice
2525

26-
1: The pole figure algorithm uses a *modified Lambert square* to perform the interpolations onto the unit circle. This is an alternate type of interpolation that the EBSD OEMs do not perform which may make the output from DREAM.3D look slightly different than output obtained from the OEM programs.
26+
1: The pole figure algorithm uses a *modified Lambert square* to perform the interpolations onto the unit circle. This is an alternate type
27+
of interpolation that the EBSD OEMs do not perform which may make the output from DREAM.3D look slightly different than output
28+
obtained from the OEM programs.
2729

28-
**Only an advanced user with intimate knowledge of the modified Lambert projection should attempt to change the value for the "Lambert Image Size (Pixels)" input parameter.**
30+
**Only an advanced user with intimate knowledge of the modified Lambert projection should attempt to change the value for
31+
the "Lambert Image Size (Pixels)" input parameter.**
2932

3033
2: Discrete Pole figure. The algorithm will simply mark each pixel that had at least 1 count as a black pixel.
3134

32-
### Layout
35+
## Output Options
36+
37+
### Write Image to Disk
38+
39+
The user can select to have the combined set of pole figures written to disk as a tiff image file
40+
41+
### Save Pole Figure as Image Geometry
42+
43+
The combined pole figure image will be saved into the DataStructure as an Image Geometry
44+
45+
### Save Raw Intensity Data
46+
47+
The normalized count data is saved for each pole figure into a Data Array that is stored inside an Image Geometry. This allows
48+
the user to select their own color plots. The Image Geometry will also have a string DataArray that lists the pertinent
49+
data that went into the creation: Number of points, which hemisphere, Phase Name, etc.
50+
51+
### Image Layout
3352

3453
The 3 pole figures can be laid out in a Square, Horizontal row or vertical column. Supporting information (including the color bar legend for color pole figures) will also be printed on the image.
3554

36-
| Lambert Projection | Discrete |
55+
| Colorized Intensity | Discrete |
3756
|--------------------|----------|
3857
| ![Example Pole Figure Using Square Layout](Images/PoleFigure_Example.png) | ![Example Pole Figure Using Square Layout](Images/Pole_Figure_Discrete_Example.png) |
3958

0 commit comments

Comments
 (0)