-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enhance H5 I/O #2
Conversation
729df1d
to
7244d40
Compare
7244d40
to
da24d26
Compare
6d65bd2
to
d79c340
Compare
d79c340
to
48d723a
Compare
48d723a
to
7c675d7
Compare
) | ||
export(EXPORT DX2Targets | ||
FILE "${CMAKE_CURRENT_BINARY_DIR}/DX2Targets.cmake" | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ndevenish I probably shouldn't keep all of this commented. Should I? Or is it something we can come back to later when we're going to need this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The decision is we will revisit this later when we need it as the repo is still in an early state
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for adding this. This all looks and works fine, I'm not sure we need to fix the cmake installation as part of this work, better to address that separately in my opinion.
Just to note that when we use these functions to write multiple data arrays to a single h5 file, if we want the file to be readable as a dials reflection table, we will need to ensure that the arrays in a group all have the same length (in the leading/trailing? dimension for multi-dimensional vectors) - but I think this should be enforced by the reflection table class using these functions, rather than checking in these functions on each call to write.
I agree. I think this will be fine to merge as-is — especially in these early stages — and we can come back and fix this as needed.
Correct @jbeilstenedmands. As it stands, this implementation of |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
After discussion we want to make some changes going on but this is fine to go in now for cross-development purposes.
Create a generic H5 writer — along with unit tests — that can take
generic data and write it to a file. As well as adding more robust error
handling to the reader.
h5
ininclude/dx2
to logically group h5related code.
dx2/h5/h5write.hpp
to define the writer.h5read_processed
intodx2/h5
and add error handling.test/test_write_h5_array.cxx
for validation.CMakeLists.txt
to include the new header file, tests andchanges to allow this to be included by other projects.