Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ DREAM3D-NX is a user-friendly and versatile desktop application that leverages t

When the [DREAM3D](https://www.github.com/bluequartzsoftware/dream3d) project began in 2009, it was created with the goal of integrating the many disperate software codes in existance at the time under a single software framework. This software framework would allow these codes to define their requirements for input data, output data and required parameters in a common structure and thus enable the existing codes to ingest data from a previous code algorithm and produce output that the other code algorithms can readily utilize. By 2013 DREAM.3D had matured into a flexible desktop application that could peform a wide variety of materials science related processing. Over time, DREAM.3D’s capabilities expanded to include more generic data processing algorithms and image processing algorithms. The United States Government funded the entire development cycle for DREAM.3D and was gracious to allow the main project to be open sourced to allow it to penetrate into as many institutions as possible. In recent years the whole of DREAM3D and SIMPL were completely rewritten into DREAM3D-NX and the `simplnx` library. This new version focused on developing both maintainable and expandable software that enables a lower barrier to entry for contributions.

The vision for the DREAM.3D project is to produce accessible software tools that are professionally developed, relentlessly tested, and maintained into the future thus accelerating current and future R&D efforts by building upon the contributors to the DREAM3D project.
The vision for the DREAM3D-NX project is to produce accessible software tools that are professionally developed, relentlessly tested, and maintained into the future thus accelerating current and future R&D efforts by building upon the contributors to the DREAM3D project.

## Public Release Notice

Expand Down
2 changes: 1 addition & 1 deletion conda/recipe.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -84,4 +84,4 @@ test:
about:
home: http://dream3d.bluequartz.net/
license: BSD
summary: DREAM.3D consists of data analysis tools (Filters) that allow for the construction of customized workflows (Pipelines) to analyze data.
summary: DREAM3D-NX consists of data analysis tools (Filters) that allow for the construction of customized workflows (Pipelines) to analyze data.
2 changes: 1 addition & 1 deletion docs/Code_Style_Guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ This is the style guide for the SIMPLNX library. When contributing sources to th

## Use of Tabs

Spaces should be used instead of hard tabs. This helps file portability across different editors. DREAM.3D uses a standard whereby all indents use two spaces.
Spaces should be used instead of hard tabs. This helps file portability across different editors. DREAM3D-NX uses a standard whereby all indents use two spaces.

## Always Use an Include Guard

Expand Down
2 changes: 1 addition & 1 deletion src/Plugins/OrientationAnalysis/Support/GMT/UsingGMT.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ export PATH=$PATH:/Applications/

## Command Line 5D Parameter GBCD

+ Generate the GMT .dat file from DREAM.3D
+ Generate the GMT .dat file from DREAM3D-NX
+ Make sure the GMT environment is setup completely
+ Execute the following:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ This filter will generate the transpose of a [1x4] *Quaternion* laid out in memo
handy when the user wants to convert the orientation transformation to an opposite effect. The algorihtm will calculate
the conjugate of each quaternion in the array of input quaternions

**NOTES**: Internally DREAM.3D assumes that the internal reference transformation is a **Sample to Crystal**
**NOTES**: Internally DREAM3D-NX assumes that the internal reference transformation is a **Sample to Crystal**
transformation. If the incoming data was collected in such a way that the orientation representation that is stored (
Quats, Eulers, Orientation Matrix, Rodrigues) was assumed to be a **Crystal to Sample** transformation then this filter
can be applied to a quaternion to convert into a reference frame that DREAM.3D assumes.
can be applied to a quaternion to convert into a reference frame that DREAM3D-NX assumes.

% Auto generated parameter table will be inserted here

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Conversion, ANG File, EDAX, Hex Grid

This **Filter** will convert TSL .ang files on hexagonal grids to TSL .ang files on square grids by means of interpolation between points. Note that the resulting square grid .ang files may have more or less rows of data and that some data may be interpolated based on its neighbor data. By default, the spacing of the square grid will be the spacing between columns in the hexagonal grid.

This **Filter** is useful since most DREAM3D-NX routines for analyzing Ebsd data require a square grid. After using this **Filter** to bulk convert the EDAX/TSL .ang files to square grids, it is suggested to use the {ref}`Import Orientation File(s) to H5Ebsd <OrientationAnalysis/EbsdToH5EbsdFilter:Description>` **Filter** to convert the square grid .ang files to the H5Ebsd format. The user can then use the {ref}`Read H5Ebsd File <OrientationAnalysis/ReadH5EbsdFilter:Description>` **Filter** to import the H5Ebsd file into DREAM.3D for analysis.
This **Filter** is useful since most DREAM3D-NX routines for analyzing Ebsd data require a square grid. After using this **Filter** to bulk convert the EDAX/TSL .ang files to square grids, it is suggested to use the {ref}`Import Orientation File(s) to H5Ebsd <OrientationAnalysis/EbsdToH5EbsdFilter:Description>` **Filter** to convert the square grid .ang files to the H5Ebsd format. The user can then use the {ref}`Read H5Ebsd File <OrientationAnalysis/ReadH5EbsdFilter:Description>` **Filter** to import the H5Ebsd file into DREAM3D-NX for analysis.

The use of this **Filter** is similar to the use of the {ref}`Import Orientation File(s) to H5Ebsd <OrientationAnalysis/EbsdToH5EbsdFilter:Description>` **Filter**. Please consult that **Filter's** documentation for a detailed description of the various user interface elements. Note that unlike the {ref}`Import Orientation File(s) to H5Ebsd <OrientationAnalysis/EbsdToH5EbsdFilter:Description>` **Filter**, this **Filter** does not require either the *Stacking Order* or the *Reference Frame* to be modified.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ OrientationAnalysis (Conversions)

## Description

Internally DREAM.3D assumes that a quaternion is laid out in the order such that < x, y, z >, w or Vector-Scalar ordering. Codes and algorithms external to DREAM.3D may store quaternions in the opposite or Scalar-Vector order (w < x,y,z >). This filter will allow the user to easily convert imported Quaternions into the representation that DREAM.3D expects.
Internally DREAM3D-NX assumes that a quaternion is laid out in the order such that < x, y, z >, w or Vector-Scalar ordering. Codes and algorithms external to DREAM3D-NX may store quaternions in the opposite or Scalar-Vector order (w < x,y,z >). This filter will allow the user to easily convert imported Quaternions into the representation that DREAM3D-NX expects.

For Example if the user has imported quaternion data in the form of Scalar-Vector then they would run this filter using a conversion type of **ToVectorScalar** and using the generated quaternions in subsequent filters. If the user wanted to then write out the Quaternions in the Scalar-Vector form then could add this filter again to the end of the pipeline (but before writing out data) to convert the Vector-Scalar quaternions array (assuming something modified the array).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Processing (Generation)

## Description

This **Filter** allows the user to enter basic crystallographic information about each phase. The Laue class, Phase Type, and Phase Name can all be entered by the user. The information is stored in an EnsembleAttributeMatrix. These values are needed to allow the calculation of certain kinds of crystallographic statistics on the volume, if they have not already been provided by some other means. Each row in the table lists the **Crystal Structure**, **Phase Type**, and **Phase Name**. The proper values for the crystal structure and phase type come from internal constants within DREAM.3D and are listed here:
This **Filter** allows the user to enter basic crystallographic information about each phase. The Laue class, Phase Type, and Phase Name can all be entered by the user. The information is stored in an EnsembleAttributeMatrix. These values are needed to allow the calculation of certain kinds of crystallographic statistics on the volume, if they have not already been provided by some other means. Each row in the table lists the **Crystal Structure**, **Phase Type**, and **Phase Name**. The proper values for the crystal structure and phase type come from internal constants within DREAM3D-NX and are listed here:

### Crystal Structure

Expand Down
8 changes: 4 additions & 4 deletions src/Plugins/OrientationAnalysis/docs/EbsdToH5EbsdFilter.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ IO (Input)

## Description

This **Filter** will convert orientation data obtained from Electron Backscatter Diffraction (EBSD) experiments into a single file archive based on the [HDF5](http://www.hdfgroup.org) file specification. See the **Supported File Formats** section below for information on file compatibility. This **Filter** is typically run as a single **Filter** **Pipeline** to perform the conversion. All subsequent **Pipelines** should then use the Read H5EBSD File **Filter** to import the H5EBSD file into DREAM.3D for analysis, as opposed to re-importing the raw EBSD files. The primary purpose of this **Filter** is to import a stack of data that forms a 3D volume. If the user wishes to import a single data file, then the **Filters** Read EDAX EBSD Data (.ang), Read EDAX EBSD Data (.h5), or Read Oxford Instr. EBSD Data (.ctf) should be used for EDAX .ang, EDAX .h5, or Oxford .ctf files, respectively.
This **Filter** will convert orientation data obtained from Electron Backscatter Diffraction (EBSD) experiments into a single file archive based on the [HDF5](http://www.hdfgroup.org) file specification. See the **Supported File Formats** section below for information on file compatibility. This **Filter** is typically run as a single **Filter** **Pipeline** to perform the conversion. All subsequent **Pipelines** should then use the Read H5EBSD File **Filter** to import the H5EBSD file into DREAM3D-NX for analysis, as opposed to re-importing the raw EBSD files. The primary purpose of this **Filter** is to import a stack of data that forms a 3D volume. If the user wishes to import a single data file, then the **Filters** Read EDAX EBSD Data (.ang), Read EDAX EBSD Data (.h5), or Read Oxford Instr. EBSD Data (.ctf) should be used for EDAX .ang, EDAX .h5, or Oxford .ctf files, respectively.

### Converting Orientation Data to H5EBSD Archive

In order to work with orientation data, DREAM.3D needs to read the data from an archive file based on the [HDF5](http://www.hdfgroup.org) specification. In order to convert the data, the user will first build a single **Filter** **Pipeline** by selecting the Import Orientation File(s) to H5EBSD **Filter**. This **Filter** will convert a directory of sequentially numbered files into a single [HDF5](http://www.hdfgroup.org) file that retains all the meta data from the header(s) of the files. The user selects the directory that contains all the files to be imported then uses the additional input widgets on the **Filter** interface (_File Prefix_, _File Suffix_, _File Extension_, and _Padding Digits_) to make adjustments to the generated file name until the correct number of files is found. The user may also select starting and ending indices to import. The user interface indicates through red and green icons if an expected file exists on the file system and will also display a warning message at the bottom of the **Filter** interface if any of the generated file names do not appear on the file system.
In order to work with orientation data, DREAM3D-NX needs to read the data from an archive file based on the [HDF5](http://www.hdfgroup.org) specification. In order to convert the data, the user will first build a single **Filter** **Pipeline** by selecting the Import Orientation File(s) to H5EBSD **Filter**. This **Filter** will convert a directory of sequentially numbered files into a single [HDF5](http://www.hdfgroup.org) file that retains all the meta data from the header(s) of the files. The user selects the directory that contains all the files to be imported then uses the additional input widgets on the **Filter** interface (_File Prefix_, _File Suffix_, _File Extension_, and _Padding Digits_) to make adjustments to the generated file name until the correct number of files is found. The user may also select starting and ending indices to import. The user interface indicates through red and green icons if an expected file exists on the file system and will also display a warning message at the bottom of the **Filter** interface if any of the generated file names do not appear on the file system.

### Stacking Order

Expand All @@ -27,11 +27,11 @@ Many serial sectioning systems are inherently a series of 2D scans stacked toget

## Orientations, Reference Frames and Coordinate Systems

DREAM.3D's origin follows the specimen's coordinate system so that the physical location of the 0 row and 0 column voxel should visually appear in the lower left corner of a computer graphics display as shown in the figure below, where the specimen coordinate system (white) overlaid with EBSD coordinate system (yellow).
DREAM3D-NX's origin follows the specimen's coordinate system so that the physical location of the 0 row and 0 column voxel should visually appear in the lower left corner of a computer graphics display as shown in the figure below, where the specimen coordinate system (white) overlaid with EBSD coordinate system (yellow).

![TSL Coordinate System (Spatial)](Images/EbsdToH5Ebsd_CoordinateSystem.png)

Commercial EBSD acquisition systems do not typically follow this convention, and DREAM.3D needs input from the user so that the proper transformations to the data can be applied during subsequent analysis. Commercial EBSD software packages allow for some initial transformations of the data, in which case the DREAM.3D environment does not have any way of determining if those transformations have already occurred. During the import process the user is asked a few questions regarding the orientation of the EBSD data in relation to the specimen coordinate system.
Commercial EBSD acquisition systems do not typically follow this convention, and DREAM3D-NX needs input from the user so that the proper transformations to the data can be applied during subsequent analysis. Commercial EBSD software packages allow for some initial transformations of the data, in which case the DREAM3D-NX environment does not have any way of determining if those transformations have already occurred. During the import process the user is asked a few questions regarding the orientation of the EBSD data in relation to the specimen coordinate system.

### Setting the Spatial Reference Frame

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ This **Filter** creates a standard pole figure image for each **Ensemble** in a

### Algorithm Choice

1: The pole figure algorithm uses a *modified Lambert square* to perform the interpolations onto the 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.
1: The pole figure algorithm uses a *modified Lambert square* to perform the interpolations onto the circle. This is an alternate type of interpolation that the EBSD OEMs do not perform which may make the output from DREAM3D-NX look slightly different than output obtained from the OEM programs.

**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.**

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ that have Error=0 as TRUE, which means those scan points are valid for processin
+ This is important because texture analysis can lead to an ambiguity as to the alignment of [2,-1,-1,0] versus [1,0,-1,0], with apparent **30 Degree** shifts in the data.
+ Caution: it appears that the axis alignment is a choice that must be made when installing TSL software so determination of which convention is in use must be made on a case-by-case basis. It is fixed to the y-convention in the HKL software.
+ The main clue that something is wrong in a conversion is that either the 2110 & 1010 pole figures are transposed, or that a peak in the inverse pole figure that should be present at 2110 has shifted over to 1010.
+ DREAM.3D uses the TSL/EDAX convention.
+ DREAM3D-NX uses the TSL/EDAX convention.
+ **The result of this is that the filter will by default add 30 degrees to the second Euler Angle (phi2) when reading Oxford Instr (.ctf) files. This can be disabled by the user if necessary.**

| Figure 1 |
Expand Down
4 changes: 2 additions & 2 deletions src/Plugins/OrientationAnalysis/docs/ReadCtfDataFilter.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ The user also may want to assign un-indexed pixels to be ignored by flagging the

### Radians and Degrees

Most 2D .ctf files have their angles in **degrees** where as DREAM.3D expects radians. The filter provides an option to convert the Euler Angles to Radians and is turned on by default. The user is encouraged to create an IPF Image of their EBSD data to ensure that they do in-fact need to have this option enabled.
Most 2D .ctf files have their angles in **degrees** where as DREAM3D-NX expects radians. The filter provides an option to convert the Euler Angles to Radians and is turned on by default. The user is encouraged to create an IPF Image of their EBSD data to ensure that they do in-fact need to have this option enabled.

### The Axis Alignment Issue for Hexagonal Symmetry [1]

Expand All @@ -30,7 +30,7 @@ Most 2D .ctf files have their angles in **degrees** where as DREAM.3D expects ra
+ This is important because texture analysis can lead to an ambiguity as to the alignment of [2,-1,-1,0] versus [1,0,-1,0], with apparent **30 Degree** shifts in the data.
+ Caution: it appears that the axis alignment is a choice that must be made when installing TSL software so determination of which convention is in use must be made on a case-by-case basis. It is fixed to the y-convention in the HKL software.
+ The main clue that something is wrong in a conversion is that either the 2110 & 1010 pole figures are transposed, or that a peak in the inverse pole figure that should be present at 2110 has shifted over to 1010.
+ DREAM.3D uses the TSL/EDAX convention.
+ DREAM3D-NX uses the TSL/EDAX convention.
+ **The result of this is that the filter will by default add 30 degrees to the second Euler Angle (phi2) when reading Oxford Instr (.ctf) files. This can be disabled by the user if necessary.**

| Figure 1 |
Expand Down
Loading
Loading