Fix UniversalHermannMauguin dataset parsing in GrainMapper3D reader#1620
Fix UniversalHermannMauguin dataset parsing in GrainMapper3D reader#1620nikprabhu wants to merge 1 commit into
Conversation
|
I'm not sure if I intentially left it blank or I just forgot about it. Clearly the unit test did not reveal the bug so that will need to be updated also. I do think we should keep as much of the meta data as possible for these data sets. Especially if the user is writing the results out to a .dream3d file, as you stated, there would be some loss of information which really should be preserved. |
|
Thanks for the clarification. As mentioned, I will leave this PR as is since it is already approved, unless you would prefer the metadata preservation changes to be included here as well. Otherwise, in the follow-up PR, I will also address extending the test coverage. |
|
@all-contributors please add @nikprabhu for bug |
|
I've put up a pull request to add @nikprabhu! 🎉 |
|
@nikprabhu Let's go ahead and do the full meta data and unit test update. |
7c9a85f to
62f6d79
Compare
Summary
This PR fixes a likely typo/bug in
GrainMapperReader::readPhaseInfo()(inGrainMapper3DUtilities.cpp).Previously,
phase.UniversalHermannMauguinwas incorrectly assigned usingk_Nameinstead ofk_UniversalHermannMauguin.As a result, the
UniversalHermannMauguinfield always duplicated the phase name instead of reading the intended HDF5 dataset.This fix updates the reader to correctly load the
UniversalHermannMauguindataset.Additional Question / Discussion
While tracing the full metadata flow and looking through the test case example, I noticed that this field is currently never written into the SIMPLNX
DataStructure.At the moment, only:
MaterialNameCrystalStructuresLatticeConstantsare written into the ensemble arrays.
I wanted to ask whether omitting
UniversalHermannMauguinwas:My understanding is that some information is already reduced when converting the full space group into a Laue group / crystal structure representation. Preserving
UniversalHermannMauguinwould help retain the original crystallographic metadata when translating GrainMapper3D data into DREAM3D/SIMPLNX format.On the other hand, if the intention was to keep ensemble metadata minimal, then it may also make sense to avoid reading metadata that is never persisted, since that would make the workflow and intent of the code clearer.
For that reason, I have intentionally kept this PR limited to fixing the dataset read itself and have not modified the code to write this metadata into the SIMPLNX
DataStructure.If support for writing this metadata is desired, I would be happy to open a follow-up PR to store it as an ensemble
StringArray, as I have already wrapped my head around the metadata flow through the reader and ensemble creation logic.