def validate(self):
     super().validate()
     if not self.refFilterMap:
         msg = 'Must set refFilterMap'
         raise pexConfig.FieldValidationError(FgcmLoadReferenceCatalogConfig.refFilterMap, self, msg)
     if self.applyColorTerms and len(self.colorterms.data) == 0:
         msg = "applyColorTerms=True requires the `colorterms` field be set to a ColortermLibrary."
         raise pexConfig.FieldValidationError(FgcmLoadReferenceCatalogConfig.colorterms, self, msg)
    def validate(self):
        pexConfig.Config.validate(self)

        if self.fluxErrName == "":
            self.fluxErrName = self.fluxName + ".err"
        elif self.fluxErrName != self.fluxName + ".err":
            msg = f"fluxErrName ({self.fluxErrName}) doesn't correspond to fluxName ({self.fluxName})"
            raise pexConfig.FieldValidationError(PsfexStarSelectorConfig.fluxName, self, msg)

        if self.minFwhm > self.maxFwhm:
            raise pexConfig.FieldValidationError(PsfexStarSelectorConfig.minFwhm, self,
                                                 f"minFwhm ({self.minFwhm}) > maxFwhm ({self.maxFwhm})")
Beispiel #3
0
    def validate(self):
        pexConfig.Config.validate(self)

        if self.fluxErrName == "":
            self.fluxErrName = self.fluxName + ".err"
        elif self.fluxErrName != self.fluxName + ".err":
            raise pexConfig.FieldValidationError(
                "fluxErrName (%s) doesn't correspond to fluxName (%s)" %
                (self.fluxErrName, self.fluxName))

        if self.minFwhm > self.maxFwhm:
            raise pexConfig.FieldValidationError(
                "minFwhm (%f) > maxFwhm (%f)" % (self.minFwhm, self.maxFwhm))
Beispiel #4
0
 def validate(self):
     if self.filter is not None:
         raise pexConfig.FieldValidationError(
             field=MultiBandReferencesConfig.filter,
             config=self,
             msg="Filter should not be set for the multiband processing scheme")
     # Delegate to ultimate base class, because the direct one has a check we don't want.
     BaseReferencesTask.ConfigClass.validate(self)
Beispiel #5
0
    def validate(self):
        super().validate()

        for band in self.fgcmFitCycle.bands:
            if not self.fgcmFitCycle.useRepeatabilityForExpGrayCutsDict[band]:
                msg = 'Must set useRepeatabilityForExpGrayCutsDict[band]=True for all bands'
                raise pexConfig.FieldValidationError(
                    FgcmFitCycleConfig.useRepeatabilityForExpGrayCutsDict,
                    self, msg)
Beispiel #6
0
 def validate(self):
     super().validate()
     if (self.psfDeterminer.name == "piff"
             and self.psfDeterminer["piff"].kernelSize >
             self.makePsfCandidates.kernelSize):
         msg = (
             f"PIFF kernelSize={self.psfDeterminer['piff'].kernelSize}"
             f" must be >= psf candidate kernelSize={self.makePsfCandidates.kernelSize}."
         )
         raise pexConfig.FieldValidationError(
             MeasurePsfConfig.makePsfCandidates, self, msg)
    def validate(self):
        pexConfig.Config.validate(self)

        def assertAllOrNone(*names):
            """Raise ValueError unless all the named fields are set or are
            all none (or blank)
            """
            setNames = [name for name in names if bool(getattr(self, name))]
            if len(setNames) in (len(names), 0):
                return
            prefix = "Both or neither" if len(names) == 2 else "All or none"
            raise ValueError(
                "{} of {} must be set, but only {} are set".format(
                    prefix, ", ".join(names), ", ".join(setNames)))

        if not (self.ra_name and self.dec_name and self.mag_column_list):
            raise ValueError(
                "ra_name and dec_name and at least one entry in mag_column_list must be supplied."
            )
        if self.mag_err_column_map and set(self.mag_column_list) != set(
                self.mag_err_column_map.keys()):
            raise ValueError(
                "mag_err_column_map specified, but keys do not match mag_column_list: {} != {}"
                .format(sorted(self.mag_err_column_map.keys()),
                        sorted(self.mag_column_list)))
        assertAllOrNone("ra_err_name", "dec_err_name", "coord_err_unit")
        if self.coord_err_unit is not None:
            result = astropy.units.Unit(self.coord_err_unit,
                                        parse_strict='silent')
            if isinstance(result, astropy.units.UnrecognizedUnit):
                msg = f"{self.coord_err_unit} is not a valid astropy unit string."
                raise pexConfig.FieldValidationError(
                    IngestIndexedReferenceConfig.coord_err_unit, self, msg)

        assertAllOrNone("epoch_name", "epoch_format", "epoch_scale")
        assertAllOrNone("pm_ra_name", "pm_dec_name")
        assertAllOrNone("pm_ra_err_name", "pm_dec_err_name")
        assertAllOrNone("parallax_name", "parallax_err_name")
        if self.pm_ra_err_name and not self.pm_ra_name:
            raise ValueError(
                '"pm_ra/dec_name" must be specified if "pm_ra/dec_err_name" are specified'
            )
        if (self.pm_ra_name or self.parallax_name) and not self.epoch_name:
            raise ValueError(
                '"epoch_name" must be specified if "pm_ra/dec_name" or "parallax_name" are specified'
            )
Beispiel #8
0
 def validate(self):
     pexConfig.Config.validate(self)
     if self.f <= 0:
         raise pexConfig.FieldValidationError(Config1.f, self,
                                              "f should be > 0")
 def validate(self):
     BaseStarSelectorTask.ConfigClass.validate(self)
     if self.widthMin > self.widthMax:
         raise pexConfig.FieldValidationError(
             "widthMin (%f) > widthMax (%f)" %
             (self.widthMin, self.widthMax))
 def validate(self):
     pexConfig.Config.validate(self)
     if self.widthMin > self.widthMax:
         raise pexConfig.FieldValidationError(
             "widthMin (%f) > widthMax (%f)" %
             (self.widthMin, self.widthMax))
Beispiel #11
0
 def validate(self):
     BaseSourceSelectorTask.ConfigClass.validate(self)
     if self.widthMin > self.widthMax:
         msg = f"widthMin ({self.widthMin}) > widthMax ({self.widthMax})"
         raise pexConfig.FieldValidationError(
             ObjectSizeStarSelectorConfig.widthMin, self, msg)
Beispiel #12
0
 def validate(self):
     super().validate()
     if self.doApplyColorTerms and len(self.colorterms.data) == 0:
         msg = "applyColorTerms=True requires the `colorterms` field be set to a ColortermLibrary."
         raise pexConfig.FieldValidationError(LoadReferenceCatalogConfig.colorterms, self, msg)