Commits (2)
......@@ -22,8 +22,6 @@ from datetime import datetime
from nomadcore.simple_parser import SimpleMatcher
from nomadcore.baseclasses import ParserInterface, AbstractBaseParser
from nomad.parsing import LocalBackend
class APTFIMParserInterface(ParserInterface):
def get_metainfo_filename(self):
......
{
"type": "nomad_meta_info_1_0",
"description": "Metadata for an atom probe tomography or field ion microscopy experiment.",
"dependencies":[
{
"metainfoPath":"general.nomadmetainfo.json"
},
{
"metainfoPath":"general.experimental.nomadmetainfo.json"
}
],
"metaInfos": [
{
"description": "Shape of the None/Null object",
"name": "none_shape",
"dtypeStr": "i",
"kindStr": "type_dimension",
"shape": [],
"superNames": ["section_experiment"]
},
{
"description": "Name of the equipment, instrument with which the experiment was performed e.g. LEAP5000XS",
"name": "experiment_tool_info",
"dtypeStr": "C",
"shape": [],
"superNames": ["section_experiment"],
"units": ""
},
{
"description": "Operation mode of the instrument (APT, FIM or combination)",
"name": "experiment_operation_method",
"dtypeStr": "C",
"shape": [],
"superNames": ["section_experiment"],
"units": ""
},
{
"description": "Pulsing method to enforce a controlled ion evaporation sequence",
"name": "experiment_imaging_method",
"dtypeStr": "C",
"shape": [],
"superNames": ["section_experiment"],
"units": ""
},
{
"description": "Sample description e.g. pure W wire samples trial 2",
"name": "specimen_description",
"dtypeStr": "C",
"shape": [],
"superNames": ["section_experiment"],
"units": ""
},
{
"description": "Number of elements (disjoint element names) expected",
"name": "number_of_elements",
"dtypeStr": "i",
"kindStr": "type_dimension",
"shape": [],
"superNames": ["section_experiment"],
"units": ""
},
{
"description": "List of periodic table names expected contained in dataset",
"name": "specimen_chemistry",
"dtypeStr": "C",
"shape": ["number_of_elements"],
"superNames": ["section_experiment"],
"units": ""
},
{
"description": "Qualitative type of specimen and microstructure analyzed (e.g. thin films, nano objects, single crystal, polycrystal)",
"name": "specimen_microstructure",
"dtypeStr": "C",
"shape": [],
"superNames": ["section_experiment"],
"units": ""
},
{
"description": "Qualitative information how many phases in the specimen",
"name": "specimen_constitution",
"dtypeStr": "C",
"shape": [],
"superNames": ["section_experiment"],
"units": ""
},
{
"description": "Number of ions successfully evaporated",
"name": "measured_number_ions_evaporated",
"dtypeStr": "i",
"shape": [],
"superNames": ["section_experiment"],
"units": "1"
},
{
"description": "Detector hit positions x and y",
"name": "measured_detector_hit_pos",
"dtypeStr": "C",
"shape": [],
"superNames": ["section_experiment"],
"units": "mm, mm"
},
{
"description": "Detector hit multiplicity",
"name": "measured_detector_hit_mult",
"dtypeStr": "C",
"shape": [],
"superNames": ["section_experiment"],
"units": "1"
},
{
"description": "Detector number of dead pulses",
"name": "measured_detector_dead_pulses",
"dtypeStr": "C",
"shape": [],
"superNames": ["section_experiment"],
"units": "1"
},
{
"description": "Raw ion time of flight",
"name": "measured_time_of_flight",
"dtypeStr": "C",
"shape": [],
"superNames": ["section_experiment"],
"units": "ns"
},
{
"description": "Standing voltage",
"name": "measured_standing_voltage",
"dtypeStr": "C",
"shape": [],
"superNames": ["section_experiment"],
"units": "V"
},
{
"description": "Pulse voltage",
"name": "measured_pulse_voltage",
"dtypeStr": "C",
"shape": [],
"superNames": ["section_experiment"],
"units": "V"
}
]
}
import sys
from nomad.metainfo import Environment
from nomad.metainfo.legacy import LegacyMetainfoEnvironment
import aptfimparser.metainfo.aptfim
import nomad.datamodel.metainfo.general
import nomad.datamodel.metainfo.general_experimental
import nomad.datamodel.metainfo.general_experimental_method
import nomad.datamodel.metainfo.general_experimental_sample
import nomad.datamodel.metainfo.general_experimental_data
m_env = LegacyMetainfoEnvironment()
m_env.m_add_sub_section(Environment.packages, sys.modules['aptfimparser.metainfo.aptfim'].m_package) # type: ignore
m_env.m_add_sub_section(Environment.packages, sys.modules['nomad.datamodel.metainfo.general'].m_package) # type: ignore
m_env.m_add_sub_section(Environment.packages, sys.modules['nomad.datamodel.metainfo.general_experimental'].m_package) # type: ignore
m_env.m_add_sub_section(Environment.packages, sys.modules['nomad.datamodel.metainfo.general_experimental_method'].m_package) # type: ignore
m_env.m_add_sub_section(Environment.packages, sys.modules['nomad.datamodel.metainfo.general_experimental_sample'].m_package) # type: ignore
m_env.m_add_sub_section(Environment.packages, sys.modules['nomad.datamodel.metainfo.general_experimental_data'].m_package) # type: ignore
import numpy as np # pylint: disable=unused-import
import typing # pylint: disable=unused-import
from nomad.metainfo import ( # pylint: disable=unused-import
MSection, MCategory, Category, Package, Quantity, Section, SubSection, SectionProxy,
Reference
)
from nomad.metainfo.legacy import LegacyDefinition
from nomad.datamodel.metainfo import general_experimental
m_package = Package(
name='aptfim_nomadmetainfo_json',
description='None',
a_legacy=LegacyDefinition(name='aptfim.nomadmetainfo.json'))
class section_experiment(general_experimental.section_experiment):
m_def = Section(validate=False, extends_base_section=True, a_legacy=LegacyDefinition(name='section_experiment'))
none_shape = Quantity(
type=int,
shape=[],
description='''
Shape of the None/Null object
''',
a_legacy=LegacyDefinition(name='none_shape'))
experiment_tool_info = Quantity(
type=str,
shape=[],
unit='dimensionless',
description='''
Name of the equipment, instrument with which the experiment was performed e.g.
LEAP5000XS
''',
a_legacy=LegacyDefinition(name='experiment_tool_info'))
experiment_operation_method = Quantity(
type=str,
shape=[],
unit='dimensionless',
description='''
Operation mode of the instrument (APT, FIM or combination)
''',
a_legacy=LegacyDefinition(name='experiment_operation_method'))
experiment_imaging_method = Quantity(
type=str,
shape=[],
unit='dimensionless',
description='''
Pulsing method to enforce a controlled ion evaporation sequence
''',
a_legacy=LegacyDefinition(name='experiment_imaging_method'))
specimen_description = Quantity(
type=str,
shape=[],
unit='dimensionless',
description='''
Sample description e.g. pure W wire samples trial 2
''',
a_legacy=LegacyDefinition(name='specimen_description'))
number_of_disjoint_elements = Quantity(
type=int,
shape=[],
unit='dimensionless',
description='''
Number of elements (disjoint element names) expected
''',
a_legacy=LegacyDefinition(name='number_of_disjoint_elements'))
specimen_chemistry = Quantity(
type=str,
shape=['number_of_elements'],
unit='dimensionless',
description='''
List of periodic table names expected contained in dataset
''',
a_legacy=LegacyDefinition(name='specimen_chemistry'))
specimen_microstructure = Quantity(
type=str,
shape=[],
unit='dimensionless',
description='''
Qualitative type of specimen and microstructure analyzed (e.g. thin films, nano
objects, single crystal, polycrystal)
''',
a_legacy=LegacyDefinition(name='specimen_microstructure'))
specimen_constitution = Quantity(
type=str,
shape=[],
unit='dimensionless',
description='''
Qualitative information how many phases in the specimen
''',
a_legacy=LegacyDefinition(name='specimen_constitution'))
measured_number_ions_evaporated = Quantity(
type=np.dtype(np.int32),
shape=[],
unit='dimensionless',
description='''
Number of ions successfully evaporated
''',
a_legacy=LegacyDefinition(name='measured_number_ions_evaporated'))
measured_detector_hit_pos = Quantity(
type=str,
shape=[],
unit='millimeter ** 2',
description='''
Detector hit positions x and y
''',
a_legacy=LegacyDefinition(name='measured_detector_hit_pos'))
measured_detector_hit_mult = Quantity(
type=str,
shape=[],
unit='dimensionless',
description='''
Detector hit multiplicity
''',
a_legacy=LegacyDefinition(name='measured_detector_hit_mult'))
measured_detector_dead_pulses = Quantity(
type=str,
shape=[],
unit='dimensionless',
description='''
Detector number of dead pulses
''',
a_legacy=LegacyDefinition(name='measured_detector_dead_pulses'))
measured_time_of_flight = Quantity(
type=str,
shape=[],
unit='nanosecond',
description='''
Raw ion time of flight
''',
a_legacy=LegacyDefinition(name='measured_time_of_flight'))
measured_standing_voltage = Quantity(
type=str,
shape=[],
unit='volt',
description='''
Standing voltage
''',
a_legacy=LegacyDefinition(name='measured_standing_voltage'))
measured_pulse_voltage = Quantity(
type=str,
shape=[],
unit='volt',
description='''
Pulse voltage
''',
a_legacy=LegacyDefinition(name='measured_pulse_voltage'))
m_package.__init_metainfo__()