def set_models(self, models): """Set models on datasets. Parameters ---------- models : `~gammapy.modeling.models.Models` or str Models object or YAML models string """ if not self.datasets or len(self.datasets) == 0: raise RuntimeError("Missing datasets") log.info(f"Reading model.") if isinstance(models, str): self.models = Models.from_yaml(models) elif isinstance(models, Models): self.models = models else: raise TypeError(f"Invalid type: {models!r}") for dataset in self.datasets: if dataset.models is not None: dataset.models.extend(self.models) else: dataset.models = self.models log.info(self.models)
def set_models(self, models): """Set models on datasets. Adds `FoVBackgroundModel` if not present already Parameters ---------- models : `~gammapy.modeling.models.Models` or str Models object or YAML models string """ if not self.datasets or len(self.datasets) == 0: raise RuntimeError("Missing datasets") log.info(f"Reading model.") if isinstance(models, str): self.models = Models.from_yaml(models) elif isinstance(models, Models): self.models = models else: raise TypeError(f"Invalid type: {models!r}") self.models.extend(self.datasets.models) if self.config.datasets.type == "3d": for dataset in self.datasets: if dataset.background_model is None: bkg_model = FoVBackgroundModel(dataset_name=dataset.name) self.models.append(bkg_model) self.datasets.models = self.models log.info(self.models)
def set_models(self, models, extend=True): """Set models on datasets. Adds `FoVBackgroundModel` if not present already Parameters ---------- models : `~gammapy.modeling.models.Models` or str Models object or YAML models string extend : bool Extend the exiting models on the datasets or replace them. """ if not self.datasets or len(self.datasets) == 0: raise RuntimeError("Missing datasets") log.info("Reading model.") if isinstance(models, str): models = Models.from_yaml(models) elif isinstance(models, Models): pass elif isinstance(models, DatasetModels) or isinstance(models, list): models = Models(models) else: raise TypeError(f"Invalid type: {models!r}") if extend: models.extend(self.datasets.models) self.datasets.models = models bkg_models = [] for dataset in self.datasets: if dataset.tag == "MapDataset" and dataset.background_model is None: bkg_models.append( FoVBackgroundModel(dataset_name=dataset.name)) if bkg_models: models.extend(bkg_models) self.datasets.models = models log.info(models)