-
Notifications
You must be signed in to change notification settings - Fork 2
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
In-memory MDF #35
In-memory MDF #35
Conversation
I have no spontaneous idea. Might be something with the transfer function. Need to review the PR in more detail but on a first sight this all looks pretty good. The validation of MDF files is something we wanted for a long time. My feeling is that the entire conversion infrastructure should work on the inMemory MDF and we might then want to give up the dict infrastructure. I suppose that this is the plan anyway since we want the inMemory type to be used directly in MPIMeasurements. |
Fixed deviation error by removing side-effect in systemMatrix()
I solved the issue of the failing test. This line Line 378 in 4842a98
had a side-effect which I solved using deepcopy() . I hope this is not a big performance issue. By the way: Why is there Line 342 in 4842a98
MPIFiles.jl/src/SystemMatrix.jl Line 13 in 4842a98
I hope, I considered everything and this is now ready to merge. |
perfect Jonas. Give me please some time to let me go over the PR and then let me merge it. Regarding |
This looks overall very good. I testet MPIReco which also still runs fine and thus merge this now. |
@jonschumacher please delete the branch on your own if you don't need it anymore. |
regarding all the smaller hacks with existing MDF files. In the long rund we should just fix the issues in the underlying test files. It seems that only the MDF1 files are problematic here. Regarding the interface I found it interesting that the in-memory version was initialized from the lazy one. While this definitely makes sense internally we might want to make the an interface where one creates the in-memory version from a filename. This would also imply that the HDF5 handle is directly closed. Or could be explicitly closed without the need to wait for the garbage collector (we have some issue with HDF5 files being closed too late due to garbage collection being asynchrone and non-deteministic). |
I am currently working on an implementation of an in-memory MDF.
Missing things:
Add working conversion from and to dicts including tests-> Add direct conversion (see non-optional field/measurement/isSparsityTransformed
missing when generating mdf #34)Since I strictly enforce a "missing" on every non-optional key combined with checking data integrity against the MDF specs, this PR should also stop issues like #34 turning up.
@tknopp: I don't really get the failing test. The two system matrices are equal but the test fails anyways. I will further investigate this next week, but if you have a spontaneous idea, I would be glad to hear it.