-
Notifications
You must be signed in to change notification settings - Fork 9
Bring NXapm back that has been accepted now by the NIAC #396
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
Bring NXapm back that has been accepted now by the NIAC #396
Conversation
…pdefs and baseclasses where inconsistent with those from the NIAC on their current main ecc9361
Reviewer's GuideThis pull request reintroduces the NXapm application definition for atom probe microscopy, restoring both YAML and NXDL files and extending several base classes (NXprocess, NXinstrument_apm, NXimage, NXspectrum, NXapm_simulation) to support detailed metadata and workflows, while also applying formatting clean-ups and year updates across various definition files. Class diagram for the new NXapm application definition and related base classesclassDiagram
class NXapm {
<<application>>
+NXentry[1..*]
}
class NXentry {
+definition: NX_CHAR
+run_number: NX_UINT
+experiment_alias: NX_CHAR
+experiment_description: NX_CHAR
+start_time: NX_DATE_TIME
+end_time: NX_DATE_TIME
+elapsed_time: NX_FLOAT
+operation_mode: NX_CHAR
+userID: NXuser
+sample: NXsample
+specimen: NXsample
+consistent_rotations: NXparameters
+NAMED_reference_frame: NXcoordinate_system
+measurement: NXapm_measurement
+simulation: NXapm_simulation
+atom_probeID: NXroi_process
+profiling: NXcs_profiling
}
class NXapm_measurement {
+status: NX_CHAR
+quality: NX_CHAR
+instrument: NXinstrument_apm
+eventID: NXevent_data_apm
}
class NXinstrument_apm {
+type: NX_CHAR
+location: NX_CHAR
+flight_path: NX_FLOAT
+reflectron: NXcomponent
+local_electrode: NXlens_em
+ion_detector: NXdetector
+pulser: NXcomponent
+stage: NXmanipulator
+analysis_chamber: NXcomponent
+buffer_chamber: NXcomponent
+load_lock_chamber: NXcomponent
+getter_pump: NXpump
+roughening_pump: NXpump
+turbomolecular_pump: NXpump
}
class NXroi_process {
+initial_specimen: NXimage
+final_specimen: NXimage
+raw_data: NXprocess
+hit_finding: NXprocess
+hit_spatial_filtering: NXprocess
+voltage_and_bowl: NXprocess
+mass_to_charge_conversion: NXprocess
+reconstruction: NXapm_reconstruction
+ranging: NXapm_ranging
}
class NXprocess {
+program: NX_CHAR
+sequence_index: NX_POSINT
+version: NX_CHAR
+date: NX_DATE_TIME
+(NXnote)
+(NXparameters)
+(NXdata)
}
class NXimage {
+image_2d: NXdata
}
class NXapm_simulation {
<<group>>
}
class NXcs_profiling {
+programID: NXprogram
+environment: NXcollection
}
class NXcs_profiling_event {
+start_time: NX_DATE_TIME
+end_time: NX_DATE_TIME
+description: NX_CHAR
+elapsed_time: NX_NUMBER
+max_processes: NX_UINT
+max_threads: NX_UINT
+max_gpus: NX_UINT
+max_virtual_memory_snapshot: NX_NUMBER[n_processes]
+max_resident_memory_snapshot: NX_NUMBER[n_processes]
}
NXapm --> NXentry
NXentry --> NXapm_measurement
NXentry --> NXapm_simulation
NXentry --> NXroi_process
NXentry --> NXcs_profiling
NXapm_measurement --> NXinstrument_apm
NXapm_measurement --> NXevent_data_apm
NXroi_process --> NXimage : initial_specimen
NXroi_process --> NXimage : final_specimen
NXroi_process --> NXprocess : raw_data
NXroi_process --> NXprocess : hit_finding
NXroi_process --> NXprocess : hit_spatial_filtering
NXroi_process --> NXprocess : voltage_and_bowl
NXroi_process --> NXprocess : mass_to_charge_conversion
NXroi_process --> NXapm_reconstruction : reconstruction
NXroi_process --> NXapm_ranging : ranging
NXcs_profiling --> NXcs_profiling_event
NXprocess --> NXnote
NXprocess --> NXparameters
NXprocess --> NXdata
NXimage --> NXdata : image_2d
Class diagram for the updated NXprocess base classclassDiagram
class NXprocess {
+program: NX_CHAR
+sequence_index: NX_POSINT
+version: NX_CHAR
+date: NX_DATE_TIME
+(NXnote)
+(NXparameters)
+(NXdata)
}
class NXnote {
}
class NXparameters {
}
class NXdata {
}
NXprocess --> NXnote
NXprocess --> NXparameters
NXprocess --> NXdata
Class diagram for the new NXcs_profiling_event base classclassDiagram
class NXcs_profiling_event {
+start_time: NX_DATE_TIME
+end_time: NX_DATE_TIME
+description: NX_CHAR
+elapsed_time: NX_NUMBER
+max_processes: NX_UINT
+max_threads: NX_UINT
+max_gpus: NX_UINT
+max_virtual_memory_snapshot: NX_NUMBER[n_processes]
+max_resident_memory_snapshot: NX_NUMBER[n_processes]
}
Class diagram for the updated NXlens_em base classclassDiagram
class NXlens_em {
+pole_type: NX_CHAR
+number_of_poles: NX_UINT
}
Class diagram for the updated NXfabrication base classclassDiagram
class NXfabrication {
+date: NX_DATE_TIME
+capability: NX_CHAR
}
Class diagram for the updated NXentry base classclassDiagram
class NXentry {
+entry_identifier: NX_CHAR
+identifier_entry: NX_CHAR
}
Class diagram for the updated NXcomponent base classclassDiagram
class NXcomponent {
+identifierNAME: NX_CHAR
}
Class diagram for the updated NXcg_primitive and NXcg_roi contributed definitionsclassDiagram
class NXcg_primitive {
}
class NXcg_roi {
}
Class diagram for the updated NXactuator, NXcoordinate_system, NXdata, NXhistory, NXresolution, NXroot base classesclassDiagram
class NXactuator {
}
class NXcoordinate_system {
}
class NXdata {
}
class NXhistory {
}
class NXresolution {
}
class NXroot {
}
Class diagram for the updated NXcg_face_list_data_structure, NXcg_half_edge_data_structure, NXcg_hexahedron, NXcg_parallelogram, NXcg_polygon, NXcg_polyhedron, NXcg_polyline, NXcg_tetrahedron, NXcg_triangle contributed definitionsclassDiagram
class NXcg_face_list_data_structure {
}
class NXcg_half_edge_data_structure {
}
class NXcg_hexahedron {
}
class NXcg_parallelogram {
}
class NXcg_polygon {
}
class NXcg_polyhedron {
}
class NXcg_polyline {
}
class NXcg_tetrahedron {
}
class NXcg_triangle {
}
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Superseeded by #400 |
Summary by Sourcery
Bring back the NXapm application definition and broaden the NeXus schema with new base classes and extended process definitions for atom probe microscopy data.
New Features:
Enhancements: