FAIRmat-NFDI / data-modeling

3 stars 1 forks source link

Make working routine exporting of data/metadata from Nion to NXem in @KochLab #85

Open mkuehbach opened 1 year ago

mkuehbach commented 1 year ago

Aim/Expectation: Nion microscope data should be injectable NXem-formatted in Christoph's OASIS (KPI-relevant)

mkuehbach commented 1 year ago

Update 2023/05/09 @mkuehbach and @shabihsherjeel discussed how to proceed with this issue after inspecting the promising alpha material which @shabihsherjeel generated for graphically editing and setting relations between concepts via a GUI. We identified three sets of issues:

1.) Issues related to the development of the GUI, purpose: should be i) incentivize users to edit relations between metadata fields and concepts graphically, ii) generate from this a data artifact which can be parsed by readers to identify how to map data items from A to B without explicitly hardcoding this in the reader source code. The status of the GUI which is essentially a graphical modifier based node editing "widget" is "in development", support for defining for each side (input = left side) output (mapped onto, right side) versions for which specific tool and input and output (appdef) this mapping is defined is missing, also support for multi-data-element input and a mapping function to map n-quantities on one is missing, simple example ["day", "month", "year"] mapped to f"{day}/{month}/{year}" whereas also f"{year}/{month}/{day}" is possible, neither however are currently conceptualized wrt to how to describe in json let aside that support for such would be implemented, currently it is not, Agreement next steps: @shabihsherjeel will stabilize the widget, then testing, then addition of multiple-to-one case

2.) Issues related to integrating a reader inside nionswift to export to NeXus directly, currently available is a simple demo which writes NeXus but without any specific annotations and decorators like needed for correct displaying of NXdata instances in say H5Web Back then this implementation was directly tapping from the internal tree of python objects inside nionswift and reading from these while traversing the data tree upon exporting Conceptually this pursuing this road inside nionswift is very similar to like "if we would have access to the ThermoFisher or JEOL source code" why not write it into the JEOL source code to export to NeXus. We both agree that this is exactly the road we as framework developers for NOMAD should not follow

3.) Alternative use the json_map reader and build on the NXiv_temp example this would essential require the following tasks:

sanbrock commented 1 year ago

Actually, the option 2 would/could be a nice example for our technology partners, how they can implement an export function in their software solutions.