diff --git a/libeos/options.py b/libeos/options.py index 3807fd2..2c598de 100644 --- a/libeos/options.py +++ b/libeos/options.py @@ -150,9 +150,7 @@ class ArgParsable: # optional argument typ = get_args(field.type)[0] - import inspect - print('typ', inspect.isclass(typ)) - if issubclass(typ, StrEnum): + if isinstance(typ, type) and issubclass(typ, StrEnum): # convert str to enum try: value = typ(value) @@ -460,23 +458,18 @@ class EOSConfig: if self.output.outputFormats != ['Rqz.ort']: otpt += f' -of {" ".join(self.output.outputFormats)}' - mask = '' - if self.experiment.yRange != Defaults.yRange: - mask += f' -y {" ".join(str(ii) for ii in self.experiment.yRange)}' - if self.experiment.lambdaRange!= Defaults.lambdaRange: - mask += f' -l {" ".join(str(ff) for ff in self.experiment.lambdaRange)}' - if self.reduction.thetaRange != Defaults.thetaRange: - mask += f' -t {" ".join(str(ff) for ff in self.reduction.thetaRange)}' - elif self.reduction.thetaRangeR != Defaults.thetaRangeR: - mask += f' -T {" ".join(str(ff) for ff in self.reduction.thetaRangeR)}' - if self.experiment.qzRange!= Defaults.qzRange: - mask += f' -q {" ".join(str(ff) for ff in self.experiment.qzRange)}' + mask = '' + # TODO: Check if you want these parameters for the case of default call + mask += f' -y {" ".join(str(ii) for ii in self.experiment.yRange)}' + mask += f' -l {" ".join(str(ff) for ff in self.experiment.lambdaRange)}' + mask += f' -t {" ".join(str(ff) for ff in self.reduction.thetaRange)}' + mask += f' -T {" ".join(str(ff) for ff in self.reduction.thetaRangeR)}' + mask += f' -q {" ".join(str(ff) for ff in self.reduction.qzRange)}' para = '' - if self.experiment.chopperPhase != Defaults.chopperPhase: - para += f' --chopperPhase {self.experiment.chopperPhase}' - if self.experiment.chopperPhaseOffset != Defaults.chopperPhaseOffset: - para += f' --chopperPhaseOffset {self.experiment.chopperPhaseOffset}' + # TODO: Check if we want these parameters for defaults + para += f' --chopperPhase {self.experiment.chopperPhase}' + para += f' --chopperPhaseOffset {self.experiment.chopperPhaseOffset}' if self.experiment.mu: para += f' --mu {self.experiment.mu}' elif self.experiment.muOffset: @@ -491,8 +484,8 @@ class EOSConfig: acts = '' if self.reduction.autoscale: acts += f' --autoscale {" ".join(str(ff) for ff in self.reduction.autoscale)}' - if self.reduction.scale != Defaults.scale: - acts += f' --scale {self.reduction.scale}' + # TODO: Check if should be shown if not default + acts += f' --scale {self.reduction.scale}' if self.reduction.timeSlize: acts += f' --timeSlize {" ".join(str(ff) for ff in self.reduction.timeSlize)}' diff --git a/libeos/reduction.py b/libeos/reduction.py index 0d0fc8e..2c51478 100644 --- a/libeos/reduction.py +++ b/libeos/reduction.py @@ -17,7 +17,9 @@ class AmorReduction: self.reader_config = config.reader self.reduction_config = config.reduction self.output_config = config.output - self.grid = Grid(config.reduction.qResolution, config.experiment.qzRange) + # TODO: bad work-around, should make better destriction of parameters usage + self.experiment_config.qzRange = self.reduction_config.qzRange + self.grid = Grid(config.reduction.qResolution, config.reduction.qzRange) self.header = Header() self.header.reduction.call = config.call_string() diff --git a/test_data/amor2025n004107.hdf b/test_data/amor2025n004107.hdf new file mode 100644 index 0000000..500dace Binary files /dev/null and b/test_data/amor2025n004107.hdf differ