d83873c763
raises IndexError if no laser, rheed sys. or chamber is ever specified
...
i.e. if one or more of these fields aren't specified thru all layers
2026-02-17 14:54:33 +01:00
de401b5474
adds instruments metadata to h5 file
2026-02-17 14:39:04 +01:00
fde2615107
changes method of instrument list deduplication
...
picks first occurrence in every set (ded_lasers, ded_chambers,
ded_rheeds) and eventually warns user if duplicates exist
2026-02-17 14:37:35 +01:00
59e173c54f
adds rastering and annealing metadata incl. UoM's
2026-02-16 19:40:23 +01:00
712cbc4788
cleans code
2026-02-16 19:40:09 +01:00
207d166227
adds most of the required metadata to function build_nexus_file
...
the file is generated into the "output" folder w/ .h5 extension
the most has been done already (probably)
2026-02-16 15:43:07 +01:00
74b8c9cfae
extends pld_fabrication dictionary with UoM's
...
now keys with numeric values are sub-dictionaries with a "value" and a
"units" key - unitS not unit to comply directly with NeXus format, which
turned out to be a good idea to avoid confusion since eLabFTW uses the
word "units" for the list of accepted units and "unit" for the selected
one...
NOTE: UoM = Unit of Measurement
2026-02-16 15:39:32 +01:00
d094a60725
replaces elabid with sample name in the names of output files
2026-02-16 11:49:48 +01:00
b4d7373933
starts working on nexus file creation
2026-02-13 16:23:42 +01:00
0a879cbfe9
removes debug line, writes json to file instead (path: output/)
2026-02-13 11:49:59 +01:00
6f618b2340
adds comments
2026-02-13 01:05:32 +01:00
38940995b5
completes the dataset with instruments_used (in a way...)
...
only lacks units of measurement, then I'll be ready for conversion
2026-02-13 00:59:22 +01:00
23bfdefd30
adds all the remaining layer data
...
only lacks the instrument_used data and units of measurement
NOTE: units of measurement are hard to collect, but could be assumed
considering our instruments are standard
2026-02-13 00:18:07 +01:00
38d281543e
code cleanup: deletes debug lines from main.py
2026-02-13 00:07:39 +01:00
a12506b8be
MAJOR: main.py successfully produces JSON following NeXus-schema
...
takes API key and elabid of the "entrypoint" sample as input
returns indented JSON with the reconstructed dataset!
currently lacks instruments_used data (matter of minutes)
and all the layer data (already present in Layer-class objects)
2026-02-13 00:01:24 +01:00
d86b35a5fe
integrates sub-classes Target and Substrate in main.py
2026-02-12 16:01:10 +01:00
3e85940eb6
adds chained request from layer to pld target
2026-02-12 15:24:01 +01:00
820337c06e
fixes category title for materials: "Substrate", not "Substrate batch"
...
"Substrate" is the title of the category of substrate items
"Substrate batch" is a key in a sample's dictionary
2026-02-12 15:16:35 +01:00
5a605038df
fixes small residual from copy-paste in call_material_from_elabid
...
the fix changes "sample_data" - which was residual from copy-pasting the
call_entrypoint... function and therefore undefined - with
"material_data" which is very well defined in the previous line
2026-02-12 15:09:59 +01:00
fd4c3b718a
creates chain functions to expand the dataset from the entrypoint
2026-02-12 14:58:48 +01:00
97d534c5d1
documents main.py functions
2026-02-12 12:15:25 +01:00
43a898e4e6
adds various main.py functions to call entries from elabid's
...
also replaces "pass" with "continue" in loops
2026-02-10 16:15:22 +01:00
5aa7527cca
more use(less,ful) comments
2026-02-10 14:46:57 +01:00
c49aa23aea
first attempt to refactor the test code into something more elegant
2026-02-09 17:50:35 +01:00
b771fedf49
changes Header.dump from method to attribute
2026-01-27 22:40:32 +01:00
9b86791c9e
adds test function
2026-01-27 16:51:06 +01:00