Skip to content

Commit

Permalink
Correct the resoultion configurator
Browse files Browse the repository at this point in the history
  • Loading branch information
MBartkowiakSTFC committed Jan 3, 2024
1 parent 90574ad commit 977d81e
Show file tree
Hide file tree
Showing 18 changed files with 60 additions and 63 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -80,9 +80,7 @@ def configure(self, value):

kernel, parameters = value

kernelCls = IInstrumentResolution.create(kernel.lower())

resolution = kernelCls()
resolution = IInstrumentResolution.create(kernel)

resolution.setup(parameters)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
)


class GaussianInstrumentResolution(IInstrumentResolution):
class GaussianResolution(IInstrumentResolution):
"""Defines an instrument resolution with a gaussian response"""

settings = collections.OrderedDict()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
)


class IdealInstrumentResolution(IInstrumentResolution):
class IdealResolution(IInstrumentResolution):
"""Defines an ideal instrument resolution with a Dirac response"""

settings = collections.OrderedDict()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
)


class LorentzianInstrumentResolution(IInstrumentResolution):
class LorentzianResolution(IInstrumentResolution):
"""
Defines an instrument resolution with a lorentzian response
"""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
)


class PseudoVoigtInstrumentResolution(IInstrumentResolution):
class PseudoVoigtResolution(IInstrumentResolution):
"""Defines an instrument resolution with a pseudo-voigt response"""

settings = collections.OrderedDict()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
)


class SquareInstrumentResolution(IInstrumentResolution):
class SquareResolution(IInstrumentResolution):
"""Defines an instrument resolution with a square response"""

settings = collections.OrderedDict()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
)


class TriangularInstrumentResolution(IInstrumentResolution):
class TriangularResolution(IInstrumentResolution):
"""Defines an instrument resolution with a triangular response"""

settings = collections.OrderedDict()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ class ApproximateDispersionQVectors(LatticeQVectors):

settings = collections.OrderedDict()
settings["q_start"] = (
"vector",
"VectorConfigurator",
{
"label": "Q start (nm^-1)",
"valueType": float,
Expand All @@ -36,7 +36,7 @@ class ApproximateDispersionQVectors(LatticeQVectors):
},
)
settings["q_end"] = (
"vector",
"VectorConfigurator",
{
"label": "Q end (nm^-1)",
"valueType": float,
Expand All @@ -45,7 +45,7 @@ class ApproximateDispersionQVectors(LatticeQVectors):
},
)
settings["q_step"] = (
"float",
"FloatConfigurator",
{"label": "Q step (nm^-1)", "mini": 1.0e-6, "default": 0.1},
)

Expand Down
12 changes: 6 additions & 6 deletions MDANSE/Src/Framework/QVectors/CircularLatticeQVectors.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,24 +27,24 @@ class CircularLatticeQVectors(LatticeQVectors):
""" """

settings = collections.OrderedDict()
settings["seed"] = ("integer", {"mini": 0, "default": 0})
settings["seed"] = ("IntegerConfigurator", {"mini": 0, "default": 0})
settings["shells"] = (
"range",
"RangeConfigurator",
{
"valueType": float,
"includeLast": True,
"mini": 0.0,
"default": (0.0, 5.0, 0.5),
},
)
settings["n_vectors"] = ("integer", {"mini": 1, "default": 50})
settings["width"] = ("float", {"mini": 1.0e-6, "default": 1.0})
settings["n_vectors"] = ("IntegerConfigurator", {"mini": 1, "default": 50})
settings["width"] = ("FloatConfigurator", {"mini": 1.0e-6, "default": 1.0})
settings["axis_1"] = (
"vector",
"VectorConfigurator",
{"normalize": False, "notNull": True, "valueType": int, "default": [1, 0, 0]},
)
settings["axis_2"] = (
"vector",
"VectorConfigurator",
{"normalize": False, "notNull": True, "valueType": int, "default": [0, 1, 0]},
)

Expand Down
12 changes: 6 additions & 6 deletions MDANSE/Src/Framework/QVectors/CircularQVectors.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,19 +25,19 @@ class CircularQVectors(IQVectors):
""" """

settings = collections.OrderedDict()
settings["seed"] = ("integer", {"mini": 0, "default": 0})
settings["seed"] = ("IntegerConfigurator", {"mini": 0, "default": 0})
settings["shells"] = (
"range",
"RangeConfigurator",
{"valueType": float, "includeLast": True, "mini": 0.0},
)
settings["n_vectors"] = ("integer", {"mini": 1, "default": 50})
settings["width"] = ("float", {"mini": 0.0, "default": 1.0})
settings["n_vectors"] = ("IntegerConfigurator", {"mini": 1, "default": 50})
settings["width"] = ("FloatConfigurator", {"mini": 0.0, "default": 1.0})
settings["axis_1"] = (
"vector",
"VectorConfigurator",
{"normalize": True, "notNull": True, "default": [1, 0, 0]},
)
settings["axis_2"] = (
"vector",
"VectorConfigurator",
{"normalize": True, "notNull": True, "default": [0, 1, 0]},
)

Expand Down
6 changes: 3 additions & 3 deletions MDANSE/Src/Framework/QVectors/DispersionLatticeQVectors.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,15 @@ class DispersionLatticeQVectors(LatticeQVectors):

settings = collections.OrderedDict()
settings["start"] = (
"vector",
"VectorConfigurator",
{"valueType": int, "notNull": False, "default": [0, 0, 0]},
)
settings["direction"] = (
"vector",
"VectorConfigurator",
{"valueType": int, "notNull": True, "default": [1, 0, 0]},
)
settings["n_steps"] = (
"integer",
"IntegerConfigurator",
{"label": "number of steps", "mini": 1, "default": 10},
)

Expand Down
8 changes: 4 additions & 4 deletions MDANSE/Src/Framework/QVectors/GridQVectors.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,18 +27,18 @@ class GridQVectors(LatticeQVectors):

settings = collections.OrderedDict()
settings["hrange"] = (
"range",
"RangeConfigurator",
{"valueType": int, "includeLast": True, "default": (0, 8, 1)},
)
settings["krange"] = (
"range",
"RangeConfigurator",
{"valueType": int, "includeLast": True, "default": (0, 8, 1)},
)
settings["lrange"] = (
"range",
"RangeConfigurator",
{"valueType": int, "includeLast": True, "default": (0, 8, 1)},
)
settings["qstep"] = ("float", {"mini": 1.0e-6, "default": 0.01})
settings["qstep"] = ("FloatConfigurator", {"mini": 1.0e-6, "default": 0.01})

def _generate(self):
hrange = self._configuration["hrange"]["value"]
Expand Down
10 changes: 5 additions & 5 deletions MDANSE/Src/Framework/QVectors/LinearLatticeQVectors.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,20 +27,20 @@ class LinearLatticeQVectors(LatticeQVectors):
""" """

settings = collections.OrderedDict()
settings["seed"] = ("integer", {"mini": 0, "default": 0})
settings["seed"] = ("IntegerConfigurator", {"mini": 0, "default": 0})
settings["shells"] = (
"range",
"RangeConfigurator",
{
"valueType": float,
"includeLast": True,
"mini": 0.0,
"default": (0, 5.0, 0.5),
},
)
settings["n_vectors"] = ("integer", {"mini": 1, "default": 50})
settings["width"] = ("float", {"mini": 1.0e-6, "default": 1.0})
settings["n_vectors"] = ("IntegerConfigurator", {"mini": 1, "default": 50})
settings["width"] = ("FloatConfigurator", {"mini": 1.0e-6, "default": 1.0})
settings["axis"] = (
"vector",
"VectorConfigurator",
{"normalize": False, "notNull": True, "valueType": int, "default": [1, 0, 0]},
)

Expand Down
10 changes: 5 additions & 5 deletions MDANSE/Src/Framework/QVectors/LinearQVectors.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,20 +24,20 @@ class LinearQVectors(IQVectors):
""" """

settings = collections.OrderedDict()
settings["seed"] = ("integer", {"mini": 0, "default": 0})
settings["seed"] = ("IntegerConfigurator", {"mini": 0, "default": 0})
settings["shells"] = (
"range",
"RangeConfigurator",
{
"valueType": float,
"includeLast": True,
"mini": 0.0,
"default": (0, 5.0, 0.5),
},
)
settings["n_vectors"] = ("integer", {"mini": 1, "default": 50})
settings["width"] = ("float", {"mini": 1.0e-6, "default": 1.0})
settings["n_vectors"] = ("IntegerConfigurator", {"mini": 1, "default": 50})
settings["width"] = ("FloatConfigurator", {"mini": 1.0e-6, "default": 1.0})
settings["axis"] = (
"vector",
"VectorConfigurator",
{"normalize": True, "notNull": True, "default": [1, 0, 0]},
)

Expand Down
10 changes: 5 additions & 5 deletions MDANSE/Src/Framework/QVectors/MillerIndicesQVectors.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,18 +25,18 @@ class MillerIndicesQVectors(LatticeQVectors):

settings = collections.OrderedDict()
settings["shells"] = (
"range",
"RangeConfigurator",
{
"valueType": float,
"includeLast": True,
"mini": 0.0,
"default": (0, 5.0, 0.5),
},
)
settings["width"] = ("float", {"mini": 1.0e-6, "default": 1.0})
settings["h"] = ("range", {"includeLast": True, "default": (0, 8, 1)})
settings["k"] = ("range", {"includeLast": True, "default": (0, 8, 1)})
settings["l"] = ("range", {"includeLast": True, "default": (0, 8, 1)})
settings["width"] = ("FloatConfigurator", {"mini": 1.0e-6, "default": 1.0})
settings["h"] = ("RangeConfigurator", {"includeLast": True, "default": (0, 8, 1)})
settings["k"] = ("RangeConfigurator", {"includeLast": True, "default": (0, 8, 1)})
settings["l"] = ("RangeConfigurator", {"includeLast": True, "default": (0, 8, 1)})

def _generate(self):
hSlice = slice(
Expand Down
8 changes: 4 additions & 4 deletions MDANSE/Src/Framework/QVectors/SphericalLatticeQVectors.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,18 +25,18 @@ class SphericalLatticeQVectors(LatticeQVectors):
""" """

settings = collections.OrderedDict()
settings["seed"] = ("integer", {"mini": 0, "default": 0})
settings["seed"] = ("IntegerConfigurator", {"mini": 0, "default": 0})
settings["shells"] = (
"range",
"RangeConfigurator",
{
"valueType": float,
"includeLast": True,
"mini": 0.0,
"default": (0, 5.0, 0.5),
},
)
settings["n_vectors"] = ("integer", {"mini": 1, "default": 50})
settings["width"] = ("float", {"mini": 1.0e-6, "default": 1.0})
settings["n_vectors"] = ("IntegerConfigurator", {"mini": 1, "default": 50})
settings["width"] = ("FloatConfigurator", {"mini": 1.0e-6, "default": 1.0})

def _generate(self):
if self._configuration["seed"]["value"] != 0:
Expand Down
8 changes: 4 additions & 4 deletions MDANSE/Src/Framework/QVectors/SphericalQVectors.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,18 +25,18 @@ class SphericalQVectors(IQVectors):
""" """

settings = collections.OrderedDict()
settings["seed"] = ("integer", {"mini": 0, "default": 0})
settings["seed"] = ("IntegerConfigurator", {"mini": 0, "default": 0})
settings["shells"] = (
"range",
"RangeConfigurator",
{
"valueType": float,
"includeLast": True,
"mini": 0.0,
"default": (0, 5.0, 0.5),
},
)
settings["n_vectors"] = ("integer", {"mini": 1, "default": 50})
settings["width"] = ("float", {"mini": 0.0, "default": 1.0})
settings["n_vectors"] = ("IntegerConfigurator", {"mini": 1, "default": 50})
settings["width"] = ("FloatConfigurator", {"mini": 0.0, "default": 1.0})

def _generate(self):
if self._configuration["seed"]["value"] != 0:
Expand Down
17 changes: 8 additions & 9 deletions MDANSE/Tests/UnitTests/Analysis/test_scattering.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@
@pytest.fixture(scope="module")
def trajectory():
trajectory = HDFTrajectoryInputData(short_traj)
trajectory = (short_traj)
yield trajectory

@pytest.fixture(scope="module")
Expand Down Expand Up @@ -79,13 +78,13 @@ def test_dcsf(trajectory, qvector_spherical_lattice):
parameters['atom_selection'] = None
parameters['atom_transmutation'] = None
parameters['frames'] = (0, 10, 1)
parameters['instrument_resolution'] = ('ideal', {})
parameters['instrument_resolution'] = ('IdealResolution', {})
parameters['output_files'] = (temp_name, ('HDFFormat',))
parameters['q_vectors'] = qvector_spherical_lattice
parameters['running_mode'] = ('monoprocessor',)
parameters['trajectory'] = short_traj
parameters['weights'] = 'b_coherent'
dcsf = IJob.create("DynamicCoherentScatteringFactor")
dcsf = IJob.create("DynamicCoherentStructureFactor")
dcsf.run(parameters,status=True)
assert path.exists(temp_name + '.h5')
assert path.isfile(temp_name + '.h5')
Expand All @@ -97,13 +96,13 @@ def test_disf(trajectory, qvector_spherical_lattice):
parameters['atom_selection'] = None
parameters['atom_transmutation'] = None
parameters['frames'] = (0, 10, 1)
parameters['instrument_resolution'] = ('ideal', {})
parameters['instrument_resolution'] = ('IdealResolution', {})
parameters['output_files'] = (temp_name, ('HDFFormat',))
parameters['q_vectors'] = qvector_spherical_lattice
parameters['running_mode'] = ('monoprocessor',)
parameters['trajectory'] = short_traj
parameters['weights'] = 'b_incoherent2'
disf = IJob.create("DynamicIncoherentScatteringFactor")
disf = IJob.create("DynamicIncoherentStructureFactor")
disf.run(parameters,status=True)
assert path.exists(temp_name + '.h5')
assert path.isfile(temp_name + '.h5')
Expand All @@ -120,7 +119,7 @@ def test_eisf(trajectory, qvector_spherical_lattice):
parameters['running_mode'] = ('monoprocessor',)
parameters['trajectory'] = short_traj
parameters['weights'] = 'b_incoherent'
eisf = IJob.create("ElasticIncoherentScatteringFactor")
eisf = IJob.create("ElasticIncoherentStructureFactor")
eisf.run(parameters,status=True)
assert path.exists(temp_name + '.h5')
assert path.isfile(temp_name + '.h5')
Expand All @@ -132,13 +131,13 @@ def test_gdisf(trajectory):
parameters['atom_selection'] = None
parameters['atom_transmutation'] = None
parameters['frames'] = (0, 10, 1)
parameters['instrument_resolution'] = ('ideal', {})
parameters['instrument_resolution'] = ('IdealResolution', {})
parameters['output_files'] = (temp_name, ('HDFFormat',))
parameters['q_shells'] = (2.0,12.2,2.0)
parameters['running_mode'] = ('monoprocessor',)
parameters['trajectory'] = short_traj
parameters['weights'] = 'b_incoherent2'
gdisf = IJob.create("GaussianDynamicIncoherentScatteringFactor")
gdisf = IJob.create("GaussianDynamicIncoherentStructureFactor")
gdisf.run(parameters,status=True)
assert path.exists(temp_name + '.h5')
assert path.isfile(temp_name + '.h5')
Expand All @@ -150,7 +149,7 @@ def test_gdisf(trajectory):
# parameters['atom_selection'] = None
# parameters['atom_transmutation'] = None
# parameters['frames'] = (0, 10, 1)
# parameters['instrument_resolution'] = ('ideal', {})
# parameters['instrument_resolution'] = ('IdealResolution', {})
# parameters['output_files'] = (temp_name, ('HDFFormat',))
# parameters['q_vectors'] = qvector_spherical_lattice
# parameters['running_mode'] = ('monoprocessor',)
Expand Down

0 comments on commit 977d81e

Please sign in to comment.