From f48142c6b9884f25c7466a0ceb02bfa5b5f587e3 Mon Sep 17 00:00:00 2001 From: Spencer Bliven Date: Fri, 24 Oct 2025 00:22:14 +0200 Subject: [PATCH 1/4] Add oscem-life extractor --- yard/data/extractors/oscem-life.yml | 26 ++++++++++++++++++++++++++ yard/data/filetypes/epu-dir.yml | 14 ++++++++++++++ yard/data/filetypes/serialem-dir.yml | 12 ++++++++++++ yard/data/filetypes/tomo5-dir.yml | 14 ++++++++++++++ 4 files changed, 66 insertions(+) create mode 100644 yard/data/extractors/oscem-life.yml create mode 100644 yard/data/filetypes/epu-dir.yml create mode 100644 yard/data/filetypes/serialem-dir.yml create mode 100644 yard/data/filetypes/tomo5-dir.yml diff --git a/yard/data/extractors/oscem-life.yml b/yard/data/extractors/oscem-life.yml new file mode 100644 index 0000000..fdd0291 --- /dev/null +++ b/yard/data/extractors/oscem-life.yml @@ -0,0 +1,26 @@ +--- +id: >- + oscem-life +name: >- + OSC-EM Life Sciences Extractor +description: >- + Extract metadata from electron microscopes for life science applications. + + Reads project directories from SerialEM, EPU, and TOMO5. Outputs the Open Science + Community for Electron Microscopy (OSC-EM) standards (single particle analysis, or + tomography). +supported_filetypes: + - id: serialem-dir + - id: epu-dir + - id: tomo5-dir +license: + spdx: BSD-3-Clause +subject: + - electron-microscopy + - imaging +source_repository: https://github.com/SwissOpenEM/LS_Metadata_reader/ +documentation: https://github.com/SwissOpenEM/LS_Metadata_reader +usage: + - method: container + setup: ghcr.io/swissopenem/ls_metadata_reader:main + command: -o {{output_path}} {{ input_path }} diff --git a/yard/data/filetypes/epu-dir.yml b/yard/data/filetypes/epu-dir.yml new file mode 100644 index 0000000..be296de --- /dev/null +++ b/yard/data/filetypes/epu-dir.yml @@ -0,0 +1,14 @@ +--- +id: >- + epu-dir +name: >- + Thermo Fisher EPU Project directory +description: >- + Represents a project directory created by Thermo Fisher Scientific's EPU. It should + include metadata xml files. +subject: + - electron-microscopy +associated_software: + - EPU +associated_vendors: + - Thermo Fisher Scientific diff --git a/yard/data/filetypes/serialem-dir.yml b/yard/data/filetypes/serialem-dir.yml new file mode 100644 index 0000000..345e19f --- /dev/null +++ b/yard/data/filetypes/serialem-dir.yml @@ -0,0 +1,12 @@ +--- +id: >- + serialem-dir +name: >- + SerialEM Project directory +description: >- + Represents a project directory created by the SerialEM software for electron + microscopy data acquisition. +subject: + - electron-microscopy +associated_software: + - SerialEM diff --git a/yard/data/filetypes/tomo5-dir.yml b/yard/data/filetypes/tomo5-dir.yml new file mode 100644 index 0000000..d4c60c2 --- /dev/null +++ b/yard/data/filetypes/tomo5-dir.yml @@ -0,0 +1,14 @@ +--- +id: >- + tomo5-dir +name: >- + TOMO5 Project directory +description: >- + Represents a project directory created by Thermo Fisher Scientific's TOMO5 software + for electron microscopy. Should include metadata xml files. +subject: + - electron-microscopy +associated_software: + - TOMO5 +associated_vendors: + - Thermo Fisher Scientific From b703d2bf961367928d520eb0966b3669977ee191 Mon Sep 17 00:00:00 2001 From: Spencer Bliven Date: Fri, 24 Oct 2025 00:37:27 +0200 Subject: [PATCH 2/4] Add epu-dir example --- .gitattributes | 2 +- ...oilHole_31936319_Data_31923985_31923987_20240831_200517.xml | 3 +++ ...oilHole_31936319_Data_31923988_31923990_20240831_200519.xml | 3 +++ ...oilHole_31936319_Data_31923991_31923993_20240831_200522.xml | 3 +++ ...oilHole_31936319_Data_31923994_31923996_20240831_200524.xml | 3 +++ ...oilHole_31936319_Data_31923997_31923999_20240831_200529.xml | 3 +++ ...oilHole_31936319_Data_31924000_31924003_20240831_200533.xml | 3 +++ ...oilHole_31936319_Data_31924004_31924006_20240831_200538.xml | 3 +++ ...oilHole_31936319_Data_31924007_31924009_20240831_200542.xml | 3 +++ ...oilHole_31936319_Data_31924010_31924012_20240831_200547.xml | 3 +++ ...oilHole_31936319_Data_31924013_31924015_20240831_200551.xml | 3 +++ 11 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31923985_31923987_20240831_200517.xml create mode 100644 yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31923988_31923990_20240831_200519.xml create mode 100644 yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31923991_31923993_20240831_200522.xml create mode 100644 yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31923994_31923996_20240831_200524.xml create mode 100644 yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31923997_31923999_20240831_200529.xml create mode 100644 yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31924000_31924003_20240831_200533.xml create mode 100644 yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31924004_31924006_20240831_200538.xml create mode 100644 yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31924007_31924009_20240831_200542.xml create mode 100644 yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31924010_31924012_20240831_200547.xml create mode 100644 yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31924013_31924015_20240831_200551.xml diff --git a/.gitattributes b/.gitattributes index 6912e57..33fd528 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1 @@ -yard/data/lfs/*/*.* filter=lfs diff=lfs merge=lfs -text +yard/data/lfs/** filter=lfs diff=lfs merge=lfs -text diff --git a/yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31923985_31923987_20240831_200517.xml b/yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31923985_31923987_20240831_200517.xml new file mode 100644 index 0000000..93d2e2c --- /dev/null +++ b/yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31923985_31923987_20240831_200517.xml @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19933dd0a93c476223cb5dba8a19fe5f184b5f22fcac1f2a7a51f8a2576b5b21 +size 14289 diff --git a/yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31923988_31923990_20240831_200519.xml b/yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31923988_31923990_20240831_200519.xml new file mode 100644 index 0000000..71c9928 --- /dev/null +++ b/yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31923988_31923990_20240831_200519.xml @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea5d102590f4241bdfe67bb0178685a8565e29c16405769fd4ed3b05c80d46c4 +size 14292 diff --git a/yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31923991_31923993_20240831_200522.xml b/yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31923991_31923993_20240831_200522.xml new file mode 100644 index 0000000..8f5f112 --- /dev/null +++ b/yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31923991_31923993_20240831_200522.xml @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f62559f8bb4cc20c8941d4b485e0ccd61ab3e7f1f6adc78e71a84ccdbac7f8a +size 14290 diff --git a/yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31923994_31923996_20240831_200524.xml b/yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31923994_31923996_20240831_200524.xml new file mode 100644 index 0000000..cb52cf3 --- /dev/null +++ b/yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31923994_31923996_20240831_200524.xml @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05a150380c6174f54b597d406c66b32ee3eb5c1d2068738a2e4207cbd3e155be +size 14291 diff --git a/yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31923997_31923999_20240831_200529.xml b/yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31923997_31923999_20240831_200529.xml new file mode 100644 index 0000000..3c0f331 --- /dev/null +++ b/yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31923997_31923999_20240831_200529.xml @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ad251b98debfbe385155c7d2e547d972884dfc637e2c474ff32f5fd86531405 +size 14291 diff --git a/yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31924000_31924003_20240831_200533.xml b/yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31924000_31924003_20240831_200533.xml new file mode 100644 index 0000000..16420ef --- /dev/null +++ b/yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31924000_31924003_20240831_200533.xml @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7f1e5ac33f9b73316ebb5a9b0ffc7e163db92e4c1c0475fe59aac0e30644870 +size 14290 diff --git a/yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31924004_31924006_20240831_200538.xml b/yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31924004_31924006_20240831_200538.xml new file mode 100644 index 0000000..d392ef0 --- /dev/null +++ b/yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31924004_31924006_20240831_200538.xml @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b95475755b40e0963318b9e63b9b01c933b0948aeaf1c24c47a895954334a7e3 +size 14292 diff --git a/yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31924007_31924009_20240831_200542.xml b/yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31924007_31924009_20240831_200542.xml new file mode 100644 index 0000000..41c69e0 --- /dev/null +++ b/yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31924007_31924009_20240831_200542.xml @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:65891851b769541a559cfa24229e7f09c72f99daa10513d15fe30d1ac1cedf41 +size 14291 diff --git a/yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31924010_31924012_20240831_200547.xml b/yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31924010_31924012_20240831_200547.xml new file mode 100644 index 0000000..690cc10 --- /dev/null +++ b/yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31924010_31924012_20240831_200547.xml @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53a1671c3676c280787538b05df06a43fcb57884f008a3505357f69a00a60dbf +size 14290 diff --git a/yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31924013_31924015_20240831_200551.xml b/yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31924013_31924015_20240831_200551.xml new file mode 100644 index 0000000..337110b --- /dev/null +++ b/yard/data/lfs/epu-dir/epu_example/FoilHole_31936319_Data_31924013_31924015_20240831_200551.xml @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6689f86ce9e8254ccacf2eb3bdde58ef818d0ac9d6d5c3932127a2fd8ca708f5 +size 14292 From dbad6dafb83b083597f8c7bf1747b6574511a5ef Mon Sep 17 00:00:00 2001 From: Spencer Bliven Date: Fri, 24 Oct 2025 00:39:02 +0200 Subject: [PATCH 3/4] Remove tomo5-dir filetype epu-dir can be used for both thermo fisher tools. --- yard/data/extractors/oscem-life.yml | 1 - yard/data/filetypes/tomo5-dir.yml | 14 -------------- 2 files changed, 15 deletions(-) delete mode 100644 yard/data/filetypes/tomo5-dir.yml diff --git a/yard/data/extractors/oscem-life.yml b/yard/data/extractors/oscem-life.yml index fdd0291..fdcfc07 100644 --- a/yard/data/extractors/oscem-life.yml +++ b/yard/data/extractors/oscem-life.yml @@ -12,7 +12,6 @@ description: >- supported_filetypes: - id: serialem-dir - id: epu-dir - - id: tomo5-dir license: spdx: BSD-3-Clause subject: diff --git a/yard/data/filetypes/tomo5-dir.yml b/yard/data/filetypes/tomo5-dir.yml deleted file mode 100644 index d4c60c2..0000000 --- a/yard/data/filetypes/tomo5-dir.yml +++ /dev/null @@ -1,14 +0,0 @@ ---- -id: >- - tomo5-dir -name: >- - TOMO5 Project directory -description: >- - Represents a project directory created by Thermo Fisher Scientific's TOMO5 software - for electron microscopy. Should include metadata xml files. -subject: - - electron-microscopy -associated_software: - - TOMO5 -associated_vendors: - - Thermo Fisher Scientific From 8e1209bc3dacf6589ae355f33c512a8ac6d62d21 Mon Sep 17 00:00:00 2001 From: Spencer Bliven Date: Fri, 24 Oct 2025 09:54:12 +0200 Subject: [PATCH 4/4] Add OSC-EM json file format --- yard/data/extractors/oscem-life.yml | 2 ++ yard/data/filetypes/oscem-json.yml | 12 ++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 yard/data/filetypes/oscem-json.yml diff --git a/yard/data/extractors/oscem-life.yml b/yard/data/extractors/oscem-life.yml index fdcfc07..9eaef1c 100644 --- a/yard/data/extractors/oscem-life.yml +++ b/yard/data/extractors/oscem-life.yml @@ -12,6 +12,8 @@ description: >- supported_filetypes: - id: serialem-dir - id: epu-dir +supported_output_filetypes: + - id: oscem-json license: spdx: BSD-3-Clause subject: diff --git a/yard/data/filetypes/oscem-json.yml b/yard/data/filetypes/oscem-json.yml new file mode 100644 index 0000000..d2a60c0 --- /dev/null +++ b/yard/data/filetypes/oscem-json.yml @@ -0,0 +1,12 @@ +--- +id: >- + oscem-json +name: >- + Electron microscopy metadata following the Open Science Community for Electron + Microscopy (OSC-EM) standards. +description: >- + A format for Fischer Scope Indenter +associated_file_extensions: + - json +subject: + - electron-microscopy