diff --git a/.doctrees/configuration.doctree b/.doctrees/configuration.doctree index 31787b91..dec8e1d3 100644 Binary files a/.doctrees/configuration.doctree and b/.doctrees/configuration.doctree differ diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle index 6be7f6fd..49c3ca05 100644 Binary files a/.doctrees/environment.pickle and b/.doctrees/environment.pickle differ diff --git a/_sources/configuration.md.txt b/_sources/configuration.md.txt index e31809c7..3a2296f6 100644 --- a/_sources/configuration.md.txt +++ b/_sources/configuration.md.txt @@ -54,7 +54,7 @@ data: (training_config)= ## Training Configuration -The file [training_config.yaml](https://github.com/CosmoStat/wf-psf/blob/dummy_main/config/training_config.yaml) is used to configure the settings for the training pipeline task. The first line contains the parent key `training`. All the following keys will treated as values of the `training` key. Above each child key a description is provided. Below is a short-hand example of this: +The file [training_config.yaml](https://github.com/CosmoStat/wf-psf/blob/dummy_main/config/training_config.yaml) is used to configure the settings for the training pipeline task. The first line contains the parent key `training`. All of the following child keys are treated as values of the `training` key. Above each child key a description is provided. Below is a short-hand example of this: ``` training: diff --git a/configuration.html b/configuration.html index aa28ef39..f499ab60 100644 --- a/configuration.html +++ b/configuration.html @@ -163,7 +163,7 @@

Configuration

Training Configuration

-

The file training_config.yaml is used to configure the settings for the training pipeline task. The first line contains the parent key training. All the following keys will treated as values of the training key. Above each child key a description is provided. Below is a short-hand example of this:

+

The file training_config.yaml is used to configure the settings for the training pipeline task. The first line contains the parent key training. All of the following child keys are treated as values of the training key. Above each child key a description is provided. Below is a short-hand example of this:

training:
   # Run ID name
   id_name: -coherent_euclid_200stars
diff --git a/searchindex.js b/searchindex.js
index 35b6dc0d..0da19325 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["about", "basic_execution", "configuration", "dependencies", "index", "installation", "modules", "toc", "wf_psf", "wf_psf.data", "wf_psf.data.training_preprocessing", "wf_psf.info", "wf_psf.metrics", "wf_psf.metrics.metrics", "wf_psf.metrics.metrics_interface", "wf_psf.plotting", "wf_psf.plotting.plot_optimisation_metrics", "wf_psf.plotting.plots_interface", "wf_psf.psf_models", "wf_psf.psf_models.psf_model_parametric", "wf_psf.psf_models.psf_model_semiparametric", "wf_psf.psf_models.psf_models", "wf_psf.psf_models.tf_layers", "wf_psf.psf_models.tf_modules", "wf_psf.psf_models.tf_psf_field", "wf_psf.psf_models.zernikes", "wf_psf.run", "wf_psf.sims", "wf_psf.sims.SimPSFToolkit", "wf_psf.training", "wf_psf.training.train", "wf_psf.training.train_utils", "wf_psf.utils", "wf_psf.utils.configs_handler", "wf_psf.utils.graph_utils", "wf_psf.utils.io", "wf_psf.utils.read_config", "wf_psf.utils.utils", "z_ref"], "filenames": ["about.md", "basic_execution.md", "configuration.md", "dependencies.md", "index.rst", "installation.md", "modules.rst", "toc.rst", "wf_psf.rst", "wf_psf.data.rst", "wf_psf.data.training_preprocessing.rst", "wf_psf.info.rst", "wf_psf.metrics.rst", "wf_psf.metrics.metrics.rst", "wf_psf.metrics.metrics_interface.rst", "wf_psf.plotting.rst", "wf_psf.plotting.plot_optimisation_metrics.rst", "wf_psf.plotting.plots_interface.rst", "wf_psf.psf_models.rst", "wf_psf.psf_models.psf_model_parametric.rst", "wf_psf.psf_models.psf_model_semiparametric.rst", "wf_psf.psf_models.psf_models.rst", "wf_psf.psf_models.tf_layers.rst", "wf_psf.psf_models.tf_modules.rst", "wf_psf.psf_models.tf_psf_field.rst", "wf_psf.psf_models.zernikes.rst", "wf_psf.run.rst", "wf_psf.sims.rst", "wf_psf.sims.SimPSFToolkit.rst", "wf_psf.training.rst", "wf_psf.training.train.rst", "wf_psf.training.train_utils.rst", "wf_psf.utils.rst", "wf_psf.utils.configs_handler.rst", "wf_psf.utils.graph_utils.rst", "wf_psf.utils.io.rst", "wf_psf.utils.read_config.rst", "wf_psf.utils.utils.rst", "z_ref.rst"], "titles": ["About", "Basic Execution", "Configuration", "Dependencies", "WaveDiff", "Installation", "wf_psf", "<no title>", "wf_psf package", "wf_psf.data package", "wf_psf.data.training_preprocessing module", "wf_psf.info module", "wf_psf.metrics package", "wf_psf.metrics.metrics module", "wf_psf.metrics.metrics_interface module", "wf_psf.plotting package", "wf_psf.plotting.plot_optimisation_metrics module", "wf_psf.plotting.plots_interface module", "wf_psf.psf_models package", "wf_psf.psf_models.psf_model_parametric module", "wf_psf.psf_models.psf_model_semiparametric module", "wf_psf.psf_models.psf_models module", "wf_psf.psf_models.tf_layers module", "wf_psf.psf_models.tf_modules module", "wf_psf.psf_models.tf_psf_field module", "wf_psf.psf_models.zernikes module", "wf_psf.run module", "wf_psf.sims package", "wf_psf.sims.SimPSFToolkit module", "wf_psf.training package", "wf_psf.training.train module", "wf_psf.training.train_utils module", "wf_psf.utils package", "wf_psf.utils.configs_handler module", "wf_psf.utils.graph_utils module", "wf_psf.utils.io module", "wf_psf.utils.read_config module", "wf_psf.utils.utils module", "References"], "terms": {"wavediff": [0, 1, 2, 3, 5, 24, 26], "liaudat": [0, 2, 4, 10, 19, 20, 21, 25, 38], "et": [0, 2, 3, 4, 34], "al": [0, 2, 3, 4, 34], "2023": [0, 2, 4, 38], "i": [0, 1, 2, 4, 5, 13, 17, 19, 20, 22, 23, 24, 28, 31, 34, 36, 37, 38], "differenti": [0, 4, 38], "data": [0, 4, 6, 8, 22, 24, 30, 31, 33, 34, 37, 38], "driven": [0, 4, 38], "wavefront": [0, 2, 4, 19, 20, 22, 23, 24, 28], "base": [0, 2, 4, 10, 14, 17, 19, 20, 21, 22, 23, 24, 25, 28, 30, 31, 33, 34, 35, 36, 37, 38], "psf": [0, 1, 2, 4, 5, 13, 14, 16, 19, 20, 21, 22, 23, 24, 28, 30, 33, 35], "model": [0, 1, 2, 4, 5, 10, 13, 14, 17, 19, 20, 21, 22, 23, 24, 30, 31, 33, 35, 38], "framework": [0, 4, 5], "tensorflow": [0, 2, 3, 5, 21, 31, 37, 38], "It": [0, 2, 13, 19, 22, 23, 24, 28, 31], "": [0, 2, 13, 19, 20, 22, 24, 28, 31, 34, 37, 38], "hybrid": [0, 22], "methodologi": 0, "construct": [0, 2], "across": [0, 2], "telescop": [0, 13, 28], "field": [0, 2, 13, 19, 20, 21, 24], "view": 0, "combin": [0, 2], "forward": [0, 19, 20, 24], "parametr": [0, 19, 20, 21, 22, 24, 30, 31], "non": [0, 13, 19, 20, 22, 23, 24, 28, 30, 31, 37], "techniqu": 0, "us": [0, 1, 2, 4, 5, 13, 17, 19, 20, 22, 23, 24, 28, 31, 36, 37], "correct": [0, 37], "error": [0, 2, 13, 17, 22, 24, 28], "space": [0, 2, 28], "ha": [0, 2, 22, 28, 37], "been": 0, "especi": [0, 34], "design": 0, "european": 0, "agenc": 0, "euclid": [0, 2, 13, 28], "mission": 0, "ensur": 0, "can": [0, 1, 2, 5, 22, 28, 31, 34, 37], "achiev": 0, "exce": 0, "its": [0, 1, 5, 19, 20, 22, 23, 24, 37], "core": [0, 38], "scienc": [0, 38], "perform": [0, 2, 22], "requir": [0, 2, 3, 13, 19, 20, 22, 23, 24, 28], "weak": [0, 2], "gravit": 0, "lens": [0, 2], "A": [0, 1, 2, 10, 14, 16, 17, 19, 20, 21, 25, 30, 33, 35, 36, 37, 38], "diagram": 0, "present": [0, 2, 13], "below": [0, 1, 2, 5], "The": [0, 1, 2, 13, 19, 20, 22, 24, 25, 26, 28, 31, 33, 37, 38], "instrument": [0, 19, 24, 28], "estim": [0, 3, 13, 31, 37], "train": [0, 1, 5, 6, 8, 10, 13, 14, 17, 19, 20, 24, 33, 37], "paramet": [0, 1, 2, 5, 10, 13, 14, 17, 19, 20, 21, 22, 23, 24, 25, 28, 30, 31, 33, 34, 35, 36, 37], "star": [0, 2, 13, 17, 22, 24, 28], "observ": [0, 2, 13, 19, 20, 22, 24, 34], "pipelin": [1, 2, 26], "launch": [1, 2], "python": [1, 5, 28, 37, 38], "script": [1, 14], "src": [1, 28, 37], "wf_psf": 1, "run": [1, 2, 4, 5, 6, 8, 17, 19, 20, 24, 31, 32, 33, 35], "py": 1, "which": [1, 2, 5, 14, 19, 20, 21, 24, 30, 31, 33, 34, 35, 36], "referenc": [1, 2], "command": [1, 2, 5, 26, 33], "list": [1, 2, 13, 17, 19, 20, 22, 24, 25, 28, 30, 31, 34, 37], "line": [1, 2, 26, 37], "argument": [1, 24, 26, 31, 36, 37], "displai": [1, 2, 17, 19, 20, 24], "help": [1, 14, 37], "option": [1, 2, 19, 20, 21, 22, 24, 26, 28, 31], "usag": 1, "h": [1, 38], "conffil": 1, "repodir": 1, "outputdir": 1, "show": [1, 2, 5], "thi": [1, 2, 4, 11, 13, 19, 20, 22, 23, 24, 26, 28, 31, 34, 37], "messag": 1, "exit": 1, "c": [1, 38], "configur": [1, 17, 33, 36], "file": [1, 2, 17, 33, 35, 36], "contain": [1, 2, 10, 13, 14, 17, 20, 22, 25, 28, 30, 33, 36, 37], "program": [1, 2, 26, 38], "set": [1, 2, 5, 17, 19, 20, 21, 22, 24, 26, 28, 30, 31, 33, 34, 35], "r": [1, 28, 34, 37, 38], "path": [1, 2, 14, 17, 19, 20, 24, 28, 30, 33, 35], "code": [1, 2, 28, 35, 37], "repositori": [1, 4, 5, 25, 35, 37], "directori": [1, 2, 5, 17, 30, 35], "o": [1, 38], "output": [1, 2, 13, 17, 19, 20, 22, 23, 24, 28, 31, 33, 35, 37], "There": 1, "ar": [1, 2, 3, 4, 13, 22, 25, 28, 31, 34, 37], "three": [1, 2, 21, 22], "user": [1, 2, 33], "should": [1, 2, 13, 19, 20, 22, 24, 28, 31, 34, 37], "specifi": [1, 2, 13, 19, 20, 24, 28, 33, 37], "when": [1, 2, 28, 34, 37], "first": [1, 2, 20, 22, 24, 28, 31, 37], "confil": 1, "master": 1, "store": [1, 2, 19, 20, 22, 30, 33, 37], "task": [1, 2], "runtim": [1, 2], "second": [1, 2, 22, 28], "wf": [1, 2, 5, 17, 19, 20, 22, 24, 28, 33, 35], "third": [1, 3], "main": [1, 2, 26, 28], "result": [1, 2, 13, 16, 17], "To": [1, 2, 23, 28, 37], "follow": [1, 2, 23, 28, 37], "config": [1, 2, 33, 35, 36], "dir": [1, 33], "begin": 1, "input": [1, 2, 14, 17, 19, 20, 22, 24, 28, 30, 31, 33, 34, 35, 37], "e": [1, 2, 5, 17, 34, 38], "retriev": [1, 2, 19, 20, 22, 24, 38], "pars": [1, 2], "creat": [1, 2, 19, 20, 24, 28, 33, 36, 37], "subdirectori": [1, 2], "name": [1, 2, 3, 17, 19, 20, 21, 22, 23, 24, 30, 33, 35, 36, 37], "compos": [1, 2], "timestamp": [1, 2, 35], "202310221632": 1, "each": [1, 2, 13, 17, 22, 28, 33, 37], "produc": [1, 2, 13, 16], "own": [1, 2, 19, 20, 22, 23, 24], "uniqu": [1, 2, 30], "Then": 1, "within": [1, 2, 4, 28], "further": 1, "gener": [1, 2, 13, 17, 19, 20, 21, 22, 24, 25, 28, 33, 36, 37], "correspond": [1, 2, 13, 22, 23, 28, 34, 37], "an": [1, 2, 4, 17, 22, 23, 28, 31, 33, 37, 38], "exampl": [1, 2], "all": [1, 2, 4, 13, 17, 19, 20, 21, 22, 23, 24, 33, 34, 36, 37], "dure": [1, 2, 19, 20, 24, 31, 33], "202310211641": 1, "checkpoint": [1, 2, 30, 35], "log": [1, 2, 31, 35, 37], "metric": [1, 6, 8, 16, 17, 19, 20, 22, 24, 31, 33, 35], "optim": [1, 2, 16, 24, 30, 31, 34, 35], "hist": [1, 2], "plot": [1, 6, 8, 13, 28, 33, 35], "psf_model": [1, 2, 6, 8, 14], "descript": [1, 2], "provid": [1, 2, 4, 11, 13, 21, 22, 23, 33, 34], "tabl": [1, 2], "sub": [1, 2, 19, 20, 22, 23, 24], "purpos": [1, 24], "weight": [1, 2, 19, 20, 22, 24, 31, 33, 34, 37], "see": [1, 2, 3, 28, 34, 37], "histori": [1, 30, 31], "final": [1, 2, 13, 19, 24, 28], "cycl": [1, 2, 30, 31, 37], "next": [1, 2, 5, 37], "we": [1, 2, 4, 5, 19, 23, 24, 31, 34], "describ": [1, 2, 19, 20, 22, 24], "some": [1, 2, 11, 19, 20, 24, 28], "detail": 1, "structur": [1, 2, 35], "content": [1, 2], "featur": [2, 20, 22, 24], "four": 2, "packag": [2, 3, 5, 6, 11, 37, 38], "evalu": [2, 5, 13, 14, 24, 33], "util": [2, 6, 8, 21, 22], "variou": [2, 16, 17], "simpsf": [2, 8, 10, 14, 18, 21], "simul": [2, 13, 21, 28, 38], "stellar": 2, "test": [2, 10, 13, 17, 30, 31, 34], "procedur": [2, 28, 31, 34], "current": [2, 31, 34], "separ": [2, 37], "trigger": 2, "execut": 2, "one": [2, 13, 22, 28, 37], "more": [2, 28], "g": [2, 5, 17, 38], "done": [2, 13, 22, 24, 28, 37], "specif": [2, 13, 28, 35], "configuraton": [2, 33], "tree": 2, "yaml": [2, 36], "data_config": 2, "conf": [2, 33, 36], "metrics_config": 2, "plotting_config": 2, "training_config": 2, "most": 2, "end": 2, "yet": 2, "anoth": 2, "markup": 2, "languag": 2, "read": [2, 36], "nest": [2, 36], "dictionari": [2, 13, 17, 21, 22, 33, 36, 37], "kei": [2, 13], "valu": [2, 13, 17, 19, 20, 22, 24, 25, 28, 34, 37], "pair": 2, "case": [2, 19, 24], "ini": 2, "syntax": 2, "section": [2, 5], "call": [2, 18, 19, 20, 22, 24, 28, 31, 33, 35, 37], "properti": [2, 30], "As": 2, "you": [2, 4, 5, 28, 37], "modifi": 2, "entri": [2, 26, 34, 36], "shall": 2, "metadata": 2, "exist": 2, "ones": 2, "coherent_euclid_dataset": 2, "new": [2, 31], "although": [2, 19, 24], "implement": [2, 22], "upgrad": 2, "pend": 2, "default": [2, 13, 19, 22, 24, 28, 31, 34, 37], "repo": 2, "data_dir": 2, "train_euclid_res_200_trainstars_id_001": 2, "npy": 2, "doe": 2, "param": [2, 28, 30, 37], "test_euclid_res_id_001": 2, "If": [2, 4, 13, 19, 24, 28, 31, 37], "parent": 2, "treat": 2, "abov": 2, "child": [2, 36], "short": [2, 21], "hand": 2, "id": [2, 15, 17, 18, 19, 20, 30, 32, 33], "id_nam": [2, 29, 30], "coherent_euclid_200star": 2, "enter": [2, 5], "els": 2, "empti": [2, 33], "onli": [2, 13, 19, 20, 22, 24, 28, 31, 34, 37], "model_param": [2, 20, 21, 29, 30], "type": [2, 13, 17, 19, 20, 21, 22, 23, 24, 25, 26, 28, 30, 33, 34, 35, 36, 37], "mccd": [2, 22], "graph": [2, 22, 34], "poli": [2, 20, 22], "poly_phys": 2, "model_nam": [2, 21, 29, 30], "hyperparamet": [2, 20, 30], "training_hparam": [2, 21, 29, 30], "appli": [2, 22, 28], "identifi": 2, "data_configur": 2, "after": [2, 13], "complet": [2, 31], "filenam": [2, 17], "prompt": 2, "left": [2, 17], "defin": [2, 14, 17, 19, 20, 21, 24, 26, 30, 31, 34, 35, 36, 37], "while": 2, "now": [2, 5, 22, 34], "learn": [2, 30, 31, 38], "rate": [2, 13, 28, 30, 31], "number": [2, 10, 13, 17, 21, 22, 25, 28, 30, 31, 34, 37], "epoch": [2, 30, 31], "multi": [2, 30, 37], "etc": 2, "These": 2, "save": [2, 13, 17, 31], "save_all_cycl": 2, "true": [2, 13, 20, 24, 28, 31, 34], "carri": 2, "out": [2, 13, 34], "comput": [2, 13, 19, 20, 22, 24, 28, 31, 34, 37, 38], "polychromat": [2, 13, 14, 19, 20, 22, 24, 28], "pixel": [2, 13, 28, 34, 37], "reconstruct": [2, 13], "absolut": [2, 13, 30, 35, 37], "rel": [2, 13], "root": [2, 17], "mean": [2, 13, 17, 28], "squar": [2, 13, 17, 23, 28, 37], "rmse": [2, 13, 14, 17], "residu": [2, 13], "between": [2, 28, 37], "low": [2, 14, 28], "super": [2, 13, 28], "resolut": [2, 13], "monochromat": [2, 13, 14, 17, 19, 20, 22, 23, 24, 28], "function": [2, 13, 14, 17, 19, 20, 21, 22, 24, 28, 30, 31, 33, 35, 36, 37, 38], "wavelength": [2, 10, 13, 19, 20, 24, 28, 37], "optic": [2, 14, 19, 20, 24, 28, 38], "differ": [2, 13, 14, 17, 19, 20, 24, 28], "opd": [2, 13, 14, 19, 20, 22, 23, 24, 28, 37], "predict": [2, 13, 18, 19, 20, 22, 24], "map": [2, 13, 19, 20, 21, 22, 23, 24, 25, 28, 36, 37], "ground": [2, 13, 24], "truth": [2, 13, 24], "shape": [2, 13, 14, 17, 19, 20, 22, 24], "order": [2, 13, 19, 22, 24, 28, 37], "moment": [2, 24], "ellipt": 2, "size": [2, 13, 19, 21, 23, 24, 28, 31, 37], "well": 2, "sampl": [2, 13, 19, 20, 24, 28, 31], "galsim": [2, 3, 28, 38], "hsm": 2, "modul": [2, 6, 8, 9, 12, 15, 18, 27, 29, 32], "noiseless": [2, 13], "noisi": 2, "In": [2, 19, 24, 28], "real": 2, "caution": 2, "adequ": 2, "assess": 2, "altern": [2, 28, 34], "formul": 2, "work": [2, 4, 19, 24], "progress": 2, "similarli": 2, "both": [2, 22, 23, 28, 31, 37], "known": 2, "undersampl": [2, 34], "typic": 2, "experi": 2, "like": [2, 28], "resolv": [2, 13, 28], "load": [2, 10, 13, 33, 37], "from": [2, 13, 19, 20, 21, 22, 23, 24, 28, 31, 33, 34, 37, 38], "callback": [2, 31], "model_save_path": 2, "choos": 2, "1": [2, 13, 19, 20, 22, 23, 24, 28, 31, 34, 37, 38], "2": [2, 13, 19, 20, 21, 22, 23, 24, 28, 31, 34, 37, 38], "saved_training_cycl": 2, "pre": [2, 28, 37], "leav": 2, "blank": 2, "trained_model_path": 2, "insid": 2, "trained_model_config": 2, "monchromat": 2, "eval_mono_metric_rms": 2, "eval_opd_metric_rms": 2, "sr": 2, "dataset": [2, 13, 14, 17, 22, 37], "eval_train_shape_sr_metric_rms": 2, "ground_truth_model": 2, "metrics_hparam": 2, "enabl": 2, "choic": [2, 28], "fulli": [2, 19, 24, 34], "given": [2, 22, 34, 37], "state": [2, 19, 20, 22, 24], "previou": [2, 33], "subsequ": 2, "routin": 2, "also": 2, "independ": [2, 22, 37], "previous": 2, "convent": [2, 28], "must": [2, 22, 23, 28, 37], "ex": [2, 28], "train_config": 2, "where": [2, 5, 13, 22], "want": [2, 5, 28, 37], "full": 2, "202310161536": 2, "checkpoint_callback_poli": 2, "coherent_euclid_200stars_cycle1": 2, "00000": 2, "00001": 2, "index": [2, 22, 28, 31], "coherent_euclid_200stars_cycle2": 2, "psf_202310161536": 2, "optim_hist_poli": 2, "psf_model_poli": 2, "pretrain": 2, "trained_model": [2, 14], "comment": 2, "serial": 2, "At": 2, "start": [2, 22, 31], "automat": [2, 3], "just": 2, "befor": [2, 22], "select": [2, 21, 33, 34], "boolean": [2, 17, 20], "flag": [2, 17, 20], "eval_": 2, "metric_typ": 2, "_metric_rms": 2, "fals": [2, 13, 17, 24, 28, 31], "disabl": 2, "note": [2, 5, 28, 34, 37], "polychromatr": 2, "summari": [2, 13], "re": [2, 14], "doesn": 2, "t": [2, 38], "associ": [2, 19, 20, 22, 24, 34], "similar": 2, "those": 2, "indic": [2, 19, 20, 24], "denot": 2, "coupl": [2, 34], "usual": 2, "machin": [2, 5, 38], "batch_siz": [2, 13, 19, 22, 24, 31], "addit": [2, 24], "output_dim": [2, 13, 19, 20, 22, 23, 24, 28, 37], "dimens": [2, 13, 19, 20, 22, 23, 24, 25, 28, 37], "postag": [2, 23], "stamp": [2, 13, 19, 22, 23, 24, 28], "shown": 2, "plotting_param": [2, 17], "folder": 2, "metrics_output_path": 2, "xxxxxxxxxxx": 2, "includ": [2, 24], "metrics_dir": [2, 35], "xxxxxxxxxxx1": 2, "xxxxxxxxxxx2": 2, "would": 2, "chang": [2, 31], "goe": 2, "find": [2, 4], "them": [2, 24], "metrics_config_1": 2, "metrics_config_2": 2, "plot_show": [2, 17], "nearli": 2, "multipl": [2, 28, 36, 37], "other": [2, 19, 24, 28, 37], "comparison": 2, "202305271829": 2, "metrics_config_200": 2, "202305271845": 2, "metrics_config_500": 2, "coherent_euclid_500star": 2, "202305271918": 2, "metrics_config_1000": 2, "coherent_euclid_1000star": 2, "interact": 2, "session": 2, "submit": 2, "process": [2, 10, 13], "variabl": [2, 19, 20, 22, 23, 24, 28], "pipeline_task": 2, "_conf": 2, "_config": 2, "sequenc": [2, 19, 20, 22, 23, 24], "n": [2, 28, 38], "respectiv": 2, "training_config_": 2, "training_conf_1": 2, "training_config_1": 2, "training_conf_2": 2, "training_config_2": 2, "training_conf_n": 2, "training_config_n": 2, "sequenti": 2, "same": [2, 22, 24, 28, 37], "202310131055": 2, "coherent_euclid_200stars_1_cycle1": 2, "coherent_euclid_200stars_n_cycle1": 2, "psf_202310131055": 2, "coherent_euclid_200stars_1": 2, "coherent_euclid_200stars_n": 2, "likewis": 2, "need": [2, 4, 5, 13, 22, 24, 37], "respect": [2, 19, 22, 24], "version": [2, 37], "per": [2, 17, 19, 20, 24, 33, 34], "singl": [2, 37], "do": [2, 19, 20, 24, 31, 37], "so": [2, 13, 28, 34, 37], "step": [2, 22, 24], "compar": 2, "job": 2, "gpu": [2, 5, 13, 30], "futur": [2, 28, 31, 37], "plan": 2, "distribut": [2, 19, 20, 24, 28, 37], "parallel": 2, "acceler": 2, "have": [2, 13, 23, 24, 28], "ani": [2, 13, 28, 31], "question": 2, "feedback": 2, "pleas": [2, 4], "don": 2, "hesit": 2, "open": [2, 4, 38], "github": [2, 4, 5, 25, 37], "issu": [2, 4], "parti": 3, "softwar": [3, 5, 38], "instal": [3, 4], "refer": 3, "numpi": [3, 13, 34, 38], "harri": [3, 38], "2020": [3, 38], "scipi": [3, 38], "virtanen": [3, 38], "abadi": [3, 38], "2015": [3, 38], "addon": 3, "zernik": [3, 8, 18, 19, 20, 21, 22, 23, 24, 28, 37], "antonello": [3, 38], "verhaegen": [3, 38], "opencv": [3, 37, 38], "bradski": [3, 38], "2000": [3, 38], "pillow": [3, 38], "clark": [3, 38], "row": [3, 28, 37, 38], "astropi": [3, 38], "collabor": [3, 38], "2013": [3, 38], "2018": [3, 38], "2022": [3, 38], "matplotlib": [3, 38], "hunter": [3, 38], "2007": [3, 38], "seaborn": [3, 38], "waskom": [3, 38], "2021": [3, 38], "develop": 4, "cosmostat": [4, 5], "lab": 4, "cea": [4, 10, 14, 16, 17, 19, 20, 21, 25, 26, 30, 33, 35, 36], "pari": 4, "saclai": 4, "document": [4, 38], "aim": 4, "inform": [4, 11, 13, 30], "unabl": 4, "what": [4, 37], "look": [4, 23, 28, 37], "here": 4, "your": 4, "academ": 4, "ask": 4, "cite": 4, "written": 5, "therefor": 5, "advis": 5, "equip": 5, "mai": [5, 28, 31, 37], "up": [5, 28, 35, 37], "dedic": 5, "environ": [5, 38], "conda": 5, "minim": 5, "miniconda": 5, "subset": 5, "clone": 5, "git": 5, "http": [5, 25, 37, 38], "com": [5, 10, 19, 20, 21, 25, 37], "pip": 5, "depend": [5, 19, 24], "cd": 5, "proce": 5, "how": [5, 34], "subpackag": 6, "submodul": [6, 19, 20, 22, 23, 24], "sim": [6, 8], "info": [6, 8, 19, 20, 22, 24], "mainmethod": [6, 8, 26], "setprogramopt": [6, 8, 26], "training_preprocess": [8, 9], "testdatahandl": [8, 9, 10, 30], "trainingdatahandl": [8, 9, 10, 30], "compute_metr": [8, 12, 13], "compute_mono_metr": [8, 12, 13], "compute_one_opd_rms": [8, 12, 13], "compute_opd_metr": [8, 12, 13], "compute_opd_metrics_mccd": [8, 12, 13], "compute_opd_metrics_param_model": [8, 12, 13], "compute_opd_metrics_polymodel": [8, 12, 13], "compute_poly_metr": [8, 12, 13], "compute_shape_metr": [8, 12, 13], "gen_gt_wf_model": [8, 12, 13], "plot_funct": [8, 12, 13], "plot_img": [8, 12, 13], "plot_residual_map": [8, 12, 13], "metrics_interfac": [8, 12], "metricsparamshandl": [8, 12, 14], "evaluate_model": [8, 12, 14], "ground_truth_psf_model": [8, 12, 14], "plot_optimisation_metr": [8, 15], "plots_interfac": [8, 15], "metricsplothandl": [8, 15, 17], "monochromaticmetricsplothandl": [8, 15, 17], "shapemetricsplothandl": [8, 15, 17], "define_plot_styl": [8, 15, 17], "get_number_of_star": [8, 15, 17], "make_plot": [8, 15, 17], "plot_metr": [8, 15, 17], "psf_model_parametr": [8, 18], "tf_psf_field_model": [8, 18, 19, 24], "psf_model_semiparametr": [8, 18], "tf_semiparam_field": [8, 13, 18, 20, 24, 31], "psfmodelerror": [8, 18, 21], "get_psf_model": [8, 18, 21], "register_psfclass": [8, 18, 21], "set_psf_model": [8, 18, 21], "tf_obscur": [8, 18, 21], "tf_zernike_cub": [8, 18, 20, 21, 24], "tf_layer": [8, 18], "old_tf_batch_poly_psf": [8, 18, 22], "tf_np_graph_opd": [8, 18, 22], "tf_np_mccd_opd_v2": [8, 18, 22], "tf_np_poly_opd": [8, 18, 22], "tf_batch_mono_psf": [8, 18, 22], "tf_batch_poly_psf": [8, 18, 22], "tf_physical_lay": [8, 18, 22], "tf_poly_z_field": [8, 18, 22], "tf_zernike_opd": [8, 18, 22, 23], "tf_modul": [8, 18], "tf_zernike_mono_psf": [8, 18, 23], "tf_build_phas": [8, 18, 23], "tf_fft_diffract": [8, 18, 23], "tf_mono_psf": [8, 18, 23], "tf_psf_field": [8, 18], "tf_gt_physical_field": [8, 18, 24], "tf_physical_poly_field": [8, 18, 24], "build_psf_model": [8, 18, 24], "zernike_gener": [8, 18, 25, 32, 37], "simpsftoolkit": [8, 10, 19, 20, 22, 24, 27, 37], "resiz": [8, 27, 28, 32, 37], "trainingparamshandl": [8, 29, 30], "filepath_chkp_callback": [8, 29, 30], "get_gpu_info": [8, 29, 30], "setup_train": [8, 29, 30], "train_util": [8, 29], "l1paramschedul": [8, 29, 31], "general_train_cycl": [8, 29, 31], "l1_schedule_rul": [8, 29, 31], "param_train_cycl": [8, 29, 31], "configs_handl": [8, 32], "dataconfighandl": [8, 32, 33], "metricsconfighandl": [8, 32, 33], "plottingconfighandl": [8, 32, 33], "trainingconfighandl": [8, 32, 33], "get_run_config": [8, 32, 33], "register_configclass": [8, 32, 33], "set_run_config": [8, 32, 33], "graph_util": [8, 32], "graphbuild": [8, 32, 34], "gen_pea": [8, 32, 34], "pairwise_dist": [8, 32, 34], "select_vstar": [8, 32, 34], "io": [8, 32], "fileiohandl": [8, 32, 33, 35], "read_config": [8, 32], "recursivenamespac": [8, 17, 32, 33, 36], "read_conf": [8, 32, 36], "read_stream": [8, 32, 36], "read_yaml": [8, 32, 36], "independentzernikeinterpol": [8, 22, 32, 37], "noiseestim": [8, 32, 37], "pi_zernik": [8, 32, 37], "zernikeinterpol": [8, 22, 32, 37], "add_nois": [8, 32, 37], "calc_poly_position_mat": [8, 32, 37], "calc_wf": [8, 32, 37], "calc_wfe_rm": [8, 32, 37], "convert_to_tf": [8, 32, 37], "decimate_im": [8, 27, 28, 32, 37], "downsample_im": [8, 32, 37], "generate_sed_elem": [8, 32, 37], "generate_sed_elems_in_tensorflow": [8, 32, 37], "generate_packed_elem": [8, 13, 32, 37], "load_multi_cycle_params_click": [8, 32, 37], "scale_to_rang": [8, 32, 37], "preprocess": 10, "valid": [10, 31], "author": [10, 14, 16, 17, 19, 20, 21, 25, 26, 30, 33, 35, 36], "jennif": [10, 14, 16, 17, 19, 20, 21, 25, 26, 30, 33, 35, 36], "pollack": [10, 14, 16, 17, 19, 20, 21, 25, 26, 30, 33, 35, 36], "fr": [10, 14, 16, 17, 19, 20, 21, 25, 26, 30, 33, 35, 36], "tobia": [10, 19, 20, 21, 25, 38], "tobiasliaudat": [10, 19, 20, 21, 25], "gmail": [10, 19, 20, 21, 25], "class": [10, 14, 17, 19, 20, 21, 22, 23, 24, 28, 30, 31, 33, 34, 35, 36, 37], "test_data_param": 10, "n_bins_lambda": 10, "sourc": [10, 13, 14, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 28, 30, 31, 33, 34, 35, 36, 37, 38], "object": [10, 13, 14, 17, 20, 21, 26, 28, 30, 31, 33, 34, 35, 36, 37], "handler": [10, 14, 30], "handl": [10, 13, 14, 17, 23, 30, 33], "recurs": [10, 14, 17, 20, 21, 30, 33, 36], "namespac": [10, 14, 17, 20, 21, 26, 30, 33, 36], "instanc": [10, 19, 20, 21, 22, 23, 24, 33, 37], "int": [10, 13, 19, 20, 21, 22, 23, 24, 25, 28, 30, 31, 34, 37], "bin": [10, 13, 28, 37], "training_data_param": 10, "manag": [10, 14, 19, 20, 21, 30, 33, 35], "basic": [11, 22], "about": 11, "evaluate_metrics_mono_rms": [12, 14], "evaluate_metrics_opd": [12, 14], "evaluate_metrics_polychromatic_lowr": [12, 14], "evaluate_metrics_shap": [12, 14], "simpsf_np": [13, 19, 20, 24], "test_s": 13, "train_s": 13, "tf_test_po": 13, "tf_train_po": 13, "tf_test_star": 13, "tf_train_star": 13, "n_bins_lda": [13, 22], "16": [13, 34], "gt_tf_semiparam_field": 13, "tf_po": [13, 37], "lambda_list": 13, "32": [13, 38], "calcul": [13, 19, 20, 22, 23, 24, 28, 37], "return": [13, 17, 19, 20, 21, 22, 23, 24, 25, 26, 28, 30, 31, 33, 34, 35, 36, 37], "multipli": [13, 23, 34], "100": [13, 31], "gt": 13, "posit": [13, 19, 20, 22, 24, 28, 34, 37], "capabl": 13, "phase_n": [13, 19, 20, 22, 23, 24], "float": [13, 19, 20, 21, 24, 28, 31, 34], "batch": [13, 19, 20, 22, 23, 24, 31], "x": [13, 17, 19, 20, 22, 24, 25, 28, 37, 38], "wavelength_valu": 13, "um": [13, 19, 20, 24, 28], "rmse_lda": 13, "rel_rmse_lda": 13, "std_rmse_lda": 13, "standard": [13, 17, 28, 37], "deviat": [13, 28, 37], "std_rel_rmse_lda": 13, "po": [13, 22, 37], "is_poli": 13, "avoid": [13, 24, 28], "Of": 13, "memori": 13, "special": [13, 24], "due": 13, "fact": 13, "higher": 13, "dimension": [13, 21], "than": 13, "remov": [13, 22, 28], "obscur": [13, 19, 21, 22, 23, 24, 28], "element": [13, 22, 23, 28, 37], "ndarrai": [13, 25, 28, 34, 37], "rel_rms": 13, "rmse_std": [13, 17], "rel_rmse_std": 13, "test_po": 13, "train_po": 13, "tf_sed": 13, "20": [13, 31, 37], "n_bins_gt": 13, "dataset_dict": 13, "none": [13, 19, 20, 21, 22, 23, 24, 28, 31, 33, 34, 37], "tensor": [13, 19, 20, 21, 22, 23, 24, 31, 37], "sed_sampl": 13, "sed": [13, 19, 20, 22, 24, 28, 37], "calcualt": 13, "dict": [13, 17, 22, 24, 31, 33, 36], "otherwis": 13, "std_rmse": [13, 17], "sstandard": 13, "std_rel_rms": 13, "output_q": [13, 19, 20, 22, 23, 24, 28], "64": [13, 23, 28], "opt_stars_rel_pix_rms": 13, "imag": [13, 23, 28, 37, 38], "downsampl": [13, 23, 28, 37], "match": [13, 19, 24, 28], "equal": [13, 20, 28, 37], "oversampling_r": [13, 28], "right": [13, 17, 22, 28], "characterist": [13, 28], "pix_sampl": [13, 28], "tel_diamet": [13, 28], "tel_focal_length": [13, 28], "oversampl": [13, 19, 20, 22, 24, 28], "obtain": [13, 28, 37], "factor": [13, 20, 23, 28, 37], "tldr": 13, "better": [13, 19, 24], "measur": 13, "bool": [13, 17, 20, 28, 31, 34], "ad": [13, 19, 20, 22, 24], "ther": 13, "statist": [13, 38], "alwai": 13, "super_res_star": 13, "result_dict": 13, "test_wf_file_path": 13, "pred_output_q": 13, "pred_output_dim": 13, "3": [13, 19, 20, 22, 24, 28, 34, 38], "time": [13, 22, 24, 35], "mesh_po": 13, "titl": 13, "mat": [13, 34], "cmap": [13, 28], "gist_stern": [13, 28], "figsiz": 13, "2d": [13, 23, 28, 38], "xdim": 13, "ydim": 13, "matrix": [13, 19, 20, 21, 22, 24, 34, 37], "subplot": 13, "chosen": 13, "intellig": 13, "n_points_per_dim": 13, "30": 13, "interfac": [14, 17], "method": [14, 17, 19, 20, 21, 22, 23, 24, 26, 28, 30, 31, 33, 34, 35, 36, 37, 38], "metrics_param": 14, "access": [14, 30], "trained_model_param": 14, "training_data": [14, 30], "test_data": [14, 30], "weights_path": 14, "metrics_output": 14, "For": [14, 24, 31, 37], "check": [14, 23, 28, 33], "click": [14, 37], "coeff_matrix": [14, 21], "get_metr": [15, 17], "optimis": [16, 31, 35], "arg": [16, 19, 20, 22, 24, 26, 37], "list_of_star": 17, "metric_nam": 17, "plot_titl": 17, "plots_dir": [17, 35], "str": [17, 21, 22, 24, 28, 30, 33, 35, 36], "label": [17, 19, 20, 24], "get": [17, 19, 20, 21, 22, 24, 28, 30, 33, 35], "xxxxxxxxxxxx": 17, "repres": 17, "test_metr": 17, "train_metr": 17, "tupl": [17, 19, 20, 22, 31, 33, 37], "consist": [17, 22, 37], "rm": [17, 28], "poly_metr": 17, "opd_metr": 17, "poly_pixel": 17, "metrics_conf": [17, 33], "mono_metr": 17, "shape_metr": 17, "style": 17, "plot_styl": 17, "x_axi": 17, "y_axi": 17, "y_axis_err": 17, "x_axis_label": 17, "y_right_axis_label": 17, "y_left_axis_label": 17, "make": [17, 25, 33, 37], "axi": [17, 22, 28, 37], "y": [17, 22, 38], "point": [17, 22, 26, 28, 38], "vertic": [17, 28, 37], "list_of_metr": 17, "plot_saving_path": 17, "assign_coeff_matrix": [18, 19, 20, 22, 24], "get_coeff_matrix": [18, 19, 20, 22, 24], "predict_mono_psf": [18, 19, 20, 24], "predict_opd": [18, 19, 20, 24], "set_output_q": [18, 19, 20, 24], "assign_s_mat": [18, 20, 22, 24], "project_dd_featur": [18, 20, 24], "set_nonzero_nonparam": [18, 20, 24], "set_trainable_lay": [18, 20, 24], "set_zero_nonparam": [18, 20, 24], "calculate_mono_psf": [18, 22], "calculate_poly_psf": [18, 22], "set_psf_batch": [18, 22], "init_var": [18, 22], "set_alpha_ident": [18, 22], "set_alpha_zero": [18, 22], "init_mono_psf": [18, 22], "set_lambda_phasen": [18, 22], "set_output_param": [18, 22], "interpolate_al": [18, 22], "interpolate_independent_zk": [18, 22], "interpolate_top_k": [18, 22], "get_poly_coefficients_shap": [18, 22], "init_coeff_matrix": [18, 22], "apply_obscur": [18, 23], "opd_to_phas": [18, 23], "zero_padding_diffract": [18, 23], "crop_img": [18, 23, 27, 28], "normalize_psf": [18, 23], "tf_crop_img": [18, 23], "compute_zernik": [18, 24], "predict_step": [18, 24], "predict_zernik": [18, 24], "zks_pad": [18, 24], "kwarg": [19, 20, 22, 24, 36], "polynomi": [19, 20, 21, 22, 24, 28, 37], "basi": [19, 20, 24], "string": [19, 20, 22, 24, 31, 33, 35, 37], "attribut": [19, 20, 22, 23, 24, 30], "zernike_map": [19, 22, 23, 24, 28], "n_batch": [19, 24], "opd_dim": [19, 20, 22, 24], "predefin": [19, 24], "phase": [19, 23, 24, 28, 38], "q": [19, 22, 24], "diffract": [19, 23, 24, 28], "zero": [19, 20, 22, 23, 24, 28, 37], "pad": [19, 23, 24, 28], "found": [19, 24, 37], "packed_s": [19, 24], "input_q": [19, 24], "replic": [19, 24], "origin": [19, 23, 24, 36], "divis": [19, 24], "recommend": [19, 24, 31], "integ": [19, 23, 24, 28, 31], "l2_param": [19, 24], "go": [19, 22, 24], "l2": [19, 24], "loss": [19, 20, 22, 24, 31], "0": [19, 22, 23, 24, 28, 31, 37, 38], "n_zernik": [19, 21, 22, 24, 25, 37], "d_max": [19, 22, 24, 37], "maximum": [19, 24, 28, 34], "degre": [19, 22, 24], "coeffici": [19, 20, 21, 22, 23, 24, 28, 37], "variat": [19, 22, 24], "x_lim": [19, 22, 24, 37], "limit": [19, 22, 24, 28], "coordin": [19, 24], "y_lim": [19, 22, 24, 37], "coeff_mat": [19, 20, 22, 24], "initi": [19, 20, 21, 22, 24, 28, 37], "activity_regular": [19, 20, 22, 24], "regular": [19, 20, 22, 24], "layer": [19, 20, 22, 24], "compute_dtyp": [19, 20, 22, 24], "dtype": [19, 20, 22, 24], "distribute_reduction_method": [19, 20, 24], "emploi": [19, 20, 24], "reduc": [19, 20, 24], "replica": [19, 20, 24], "distribute_strategi": [19, 20, 24], "tf": [19, 20, 22, 23, 24, 31, 37], "strategi": [19, 20, 24], "wa": [19, 20, 24, 34], "under": [19, 20, 24], "dtype_polici": [19, 20, 22, 24], "polici": [19, 20, 22, 24], "dynam": [19, 20, 22, 24], "whether": [19, 20, 22, 24, 34], "eager": [19, 20, 22, 24], "constructor": [19, 20, 22, 24], "enable_tune_steps_per_execut": [19, 20, 24], "inbound_nod": [19, 20, 22, 24], "api": [19, 20, 22, 24], "node": [19, 20, 22, 24], "upstream": [19, 20, 22, 24], "input_mask": [19, 20, 22, 24], "mask": [19, 20, 22, 24], "input_shap": [19, 20, 22, 24], "input_spec": [19, 20, 22, 24], "inputspec": [19, 20, 22, 24], "format": [19, 20, 22, 24], "jit_compil": [19, 20, 24], "compil": [19, 20, 24], "xla": [19, 20, 24], "add_loss": [19, 20, 22, 24], "add_metr": [19, 20, 24], "metrics_nam": [19, 20, 24], "name_scop": [19, 20, 22, 23, 24], "non_trainable_vari": [19, 20, 22, 23, 24], "trainabl": [19, 20, 22, 23, 24], "non_trainable_weight": [19, 20, 22, 24], "track": [19, 20, 22, 24], "outbound_nod": [19, 20, 22, 24], "downstream": [19, 20, 22, 24], "output_mask": [19, 20, 22, 24], "output_shap": [19, 20, 22, 24], "run_eagerli": [19, 20, 24], "settabl": [19, 20, 24], "eagerli": [19, 20, 24], "state_upd": [19, 20, 24], "deprec": [19, 20, 24], "NOT": [19, 20, 24], "supports_mask": [19, 20, 22, 24], "support": [19, 20, 22, 24], "compute_mask": [19, 20, 22, 24], "trainable_vari": [19, 20, 22, 23, 24], "trainable_weight": [19, 20, 22, 24], "updat": [19, 20, 22, 24, 33], "variable_dtyp": [19, 20, 22, 24], "alia": [19, 20, 22, 24], "__call__": [19, 20, 24], "reset_st": [19, 20, 24], "assign": [19, 20, 22, 24], "input_posit": [19, 20, 24], "lambda_ob": [19, 20, 22, 23, 24, 28], "desir": [19, 20, 24, 25, 28, 37], "batch_dim": [19, 20, 24], "feasible_n": [19, 20, 24, 27, 28], "opd_map": [19, 20, 22, 24], "request": [19, 20, 24], "wrt": [19, 20, 24, 28], "semi": [20, 24], "training_param": [20, 30], "s_mat": [20, 22, 24], "dd": [20, 22, 24], "flow": [20, 21, 22, 37], "project": [20, 24, 28, 38], "onto": [20, 24], "n_z": [20, 24], "transfer": [20, 24], "part": [20, 22, 24, 31], "alpha": [20, 22, 34], "param_bool": [20, 24], "nonparam_bool": [20, 24], "except": 21, "instanti": 21, "psf_class": 21, "regist": [21, 33], "wrapper": [21, 33], "pupil_diam": 21, "n_filter": [21, 28], "pupil": [21, 22, 28], "diamet": [21, 22, 28], "filter": [21, 28], "eagertensor": 21, "cube": 21, "pack": [22, 37], "outsid": [22, 25, 37], "pupil_len": 22, "packed_sed_data": 22, "come": 22, "convert_to_tensor": 22, "inner": 22, "packed_elem": 22, "1d": 22, "sed_norm_v": 22, "constant": [22, 34], "fov": [22, 28], "psf_batch": 22, "attach": 22, "cosntraint": 22, "obs_po": [22, 24, 34], "n_star": [22, 24], "spatial_d": 22, "n_dic_elem": 22, "spatial": 22, "constraint": [22, 34], "total": [22, 28, 30], "confound": 22, "n_comp": [22, 34], "graph_comp": 22, "correspondign": 22, "max": 22, "determin": [22, 23], "spatial_dict": 22, "random": [22, 28], "uniform": [22, 28], "ident": 22, "random_se": 22, "seed": [22, 28], "pi": 22, "current_opd": 22, "opd_batch": 22, "initialis": 22, "restart": 22, "914": 22, "7": [22, 38], "lambda": [22, 23], "phasen": 22, "patam": 22, "give": [22, 34], "contribut": [22, 37], "physic": [22, 24], "fix": [22, 34], "zks_prior": [22, 24], "interpolation_typ": [22, 24], "interpol": [22, 24, 28, 37], "top_k": 22, "independent_zk": 22, "interpolation_arg": [22, 24], "hyper": [22, 30], "rbf": [22, 37], "k": [22, 37, 38], "prior": [22, 24], "zernikes_coeff": 22, "build": [22, 23, 34, 36, 38], "allow": [22, 28], "avaialbl": 22, "closest": [22, 28, 37], "even": 22, "though": 22, "smaller": 22, "bigger": 22, "consid": [22, 28, 31, 34], "turn": [22, 23], "Will": [22, 23], "num_coeff": [22, 23], "x_dim": [22, 23], "y_dim": [22, 23], "z_coeff": [22, 23, 28], "sum": 22, "coeff": 22, "pass": [23, 28, 31], "ctor": 23, "complex": 23, "wise": [23, 34], "convert": 23, "no_pad_phas": 23, "import": 23, "output_crop_dim": 23, "crop": 23, "width": [23, 28, 37], "height": [23, 28, 37], "num_star": 23, "n_zk": 24, "coeffient": 24, "zks_coeff": 24, "n_zks_total": 24, "evaluate_step": 24, "custom": 24, "infer": 24, "No": [24, 28], "sizet": 24, "d_max_nonparam": 24, "n_zks_param": 24, "zk_param": 24, "zk_prior": [24, 37], "length": [24, 28], "n_zks_prior": 24, "model_inst": 24, "wfe_dim": [25, 37], "jacopoantonello": [25, 37], "mode": [25, 28, 31, 37], "unit": [25, 28, 37], "circl": [25, 37], "fill": [25, 37], "nan": [25, 37], "np": [25, 28, 37], "setup": [26, 30, 35], "parser": 26, "argparg": 26, "sed_gen_nois": [27, 28], "calc_sed_wave_valu": [27, 28], "calculate_opd": [27, 28], "calculate_wfe_rm": [27, 28], "check_wfe_rm": [27, 28], "diffract_phas": [27, 28], "feasible_wavelength": [27, 28], "fft_diffract": [27, 28], "filter_s": [27, 28], "gen_sed_interp": [27, 28], "gen_sed_sampl": [27, 28], "gen_random_z_coeff": [27, 28], "generate_mono_psf": [27, 28], "generate_poly_psf": [27, 28], "generate_pupil_obscur": [27, 28], "get_psf": [27, 28], "get_radial_idx": [27, 28], "get_z_coeff": [27, 28], "interp_s": [27, 28], "normalize_zernik": [27, 28], "opd_phase_plott": [27, 28], "plot_opd_phas": [27, 28], "plot_psf": [27, 28], "plot_z_coeff": [27, 28], "psf_plotter": [27, 28], "set_z_coeff": [27, 28], "max_ord": 28, "45": 28, "max_wfe_rm": 28, "rand_se": 28, "plot_opt": 28, "12": [28, 38], "24": 28, "5": [28, 34, 37, 38], "pupil_diamet": 28, "1024": 28, "euclid_obsc": 28, "lp_filter_length": 28, "verbos": [28, 31, 34], "sed_sigma": 28, "sed_interp_pts_per_bin": 28, "sed_extrapol": 28, "sed_interp_kind": 28, "linear": 28, "could": 28, "xxxzernike_map": 28, "osa": 28, "ansi": 28, "wfe": 28, "forvnorm": 28, "mu": 28, "m": [28, 38], "14": 28, "minumum": 28, "alias": 28, "band": 28, "55um": 28, "9um": 28, "mirror": 28, "focal": 28, "plane": 28, "pix": 28, "wheter": 28, "defualt": 28, "lp": 28, "effect": 28, "simpl": 28, "top": 28, "hat": 28, "self": [28, 37], "explanatori": 28, "activ": 28, "gaussian": [28, 37], "nois": [28, 31, 37], "extrapol": 28, "kind": 28, "cubic": 28, "static": [28, 36, 37], "n_bin": [28, 37], "normal": 28, "vector": [28, 37], "35": [28, 34], "feasibl": 28, "matter": 28, "speed": 28, "spectral": 28, "energi": 28, "regen_sampl": 28, "admit": 28, "to_crop_img": 28, "ref_im": 28, "input_im": [28, 37], "decim_f": [28, 37], "decim": [28, 37], "pil": [28, 37, 38], "librari": [28, 37, 38], "target": 28, "filter_lim": 28, "wvlength": 28, "integr": 28, "less": 28, "unfilterd": 28, "unfilt": 28, "column": 28, "lower": 28, "und": 28, "upper": 28, "midpoint": 28, "increas": 28, "overlap": 28, "disjoint": 28, "interp_kind": 28, "nm": 28, "sampler": 28, "law": 28, "u": [28, 38], "divid": 28, "radial": 28, "u_i": 28, "realiz": 28, "rand_coeff": 28, "725": 28, "vi": [28, 38], "550": 28, "900": 28, "n_pix": 28, "3d": 28, "angl": 28, "sed_filt": 28, "n_point": 28, "add": [28, 33, 37], "pupil_mask": [28, 37], "viridi": 28, "save_img": 28, "dsize": [28, 37], "dst": [28, 37], "fx": [28, 37], "fy": [28, 37], "brief": [28, 37], "down": [28, 37], "taken": [28, 37], "account": [28, 37], "instead": [28, 37], "deriv": [28, 37], "fit": [28, 31, 37], "explicitli": [28, 37], "endcod": [28, 37], "direct": [28, 37], "wai": [28, 37], "let": [28, 37], "destin": [28, 37], "shrink": [28, 37], "best": [28, 34, 37], "inter_area": [28, 37], "wherea": [28, 37], "enlarg": [28, 37], "inter_cub": [28, 37], "slow": [28, 37], "inter_linear": [28, 37], "faster": [28, 37], "still": [28, 34, 37], "ok": [28, 37], "f": [28, 37, 38], "texttt": [28, 37], "round": [28, 37], "col": [28, 37], "either": [28, 37], "scale": [28, 37, 38], "along": [28, 34, 37], "horizont": [28, 37], "doubl": [28, 37], "interpolationflag": [28, 37], "sa": [28, 37], "warpaffin": [28, 37], "warpperspect": [28, 37], "remap": [28, 37], "learning_rate_non_param": [29, 30, 31], "learning_rate_param": [29, 30, 31], "multi_cycle_param": [29, 30], "n_epochs_non_param": [29, 30, 31], "n_epochs_param": [29, 30, 31], "total_cycl": [29, 30], "on_epoch_begin": [29, 31], "checkpoint_dir": [30, 35], "current_cycl": 30, "devic": 30, "device_nam": 30, "optimizer_dir": [30, 35], "psf_model_dir": [30, 35], "obj": [30, 33], "l1": 31, "schedul": 31, "accord": [31, 33], "take": 31, "l1_rate": 31, "set_model": 31, "set_param": 31, "subclass": 31, "overrid": 31, "action": 31, "validation_data": 31, "param_optim": 31, "non_param_optim": 31, "param_loss": 31, "non_param_loss": 31, "param_metr": 31, "non_param_metr": 31, "param_callback": 31, "non_param_callback": 31, "general_callback": 31, "first_run": 31, "cycle_def": 31, "use_sample_weight": 31, "bcd": 31, "iter": 31, "1e": [31, 34], "kera": 31, "adam": [31, 38], "meansquarederror": 31, "share": 31, "definit": [31, 34], "invers": [31, 38], "varianc": 31, "being": 31, "hist_param": 31, "hist_non_param": 31, "epoch_n": 31, "learning_r": 31, "n_epoch": 31, "call_plot_config_handler_run": [32, 33], "get_psf_model_weights_filepath": [32, 33], "check_and_update_metrics_conf": [32, 33], "load_metrics_into_dict": [32, 33], "make_dict_of_metr": [32, 33], "gen_eigenvect": [32, 34], "pick_emax": [32, 34], "select_param": [32, 34], "copy_conffile_to_output_dir": [32, 35], "get_checkpoint_dir": [32, 35], "get_config_dir": [32, 35], "get_metrics_dir": [32, 35], "get_optimizer_dir": [32, 35], "get_plots_dir": [32, 35], "get_psf_model_dir": [32, 35], "get_timestamp": [32, 35], "setup_output": [32, 35], "map_entri": [32, 36], "interp_one_zk": [32, 37], "interpolate_zk": [32, 37], "estimate_nois": [32, 37], "sigma_mad": [32, 37], "data_conf": 33, "training_model_param": 33, "file_handl": 33, "training_conf": 33, "configu": 33, "model_metr": 33, "filepath": 33, "basenam": 33, "weights_filepath": 33, "wave": 33, "diff": 33, "plotting_conf": 33, "metrics_files_dict": 33, "run_config": 33, "config_param": 33, "config_class": 33, "config_nam": 33, "obs_data": 34, "obs_weight": 34, "n_eigenvect": 34, "n_iter": 34, "ea_grids": 34, "10": [34, 38], "distanc": 34, "auto_run": 34, "necessari": 34, "quantiti": 34, "rca": 34, "compon": 34, "eigenvector": 34, "lead": 34, "poor": 34, "ignor": 34, "vt": 34, "mani": 34, "over": 34, "fine": 34, "logscal": 34, "grid": 34, "pairwis": 34, "immedi": 34, "keep": 34, "smallest": 34, "eigenvalu": 34, "epsilon": 34, "15": 34, "pick": 34, "old": 34, "were": 34, "too": [34, 37], "big": 34, "greedi": 34, "search": 34, "connect": 34, "e_rang": 34, "a_rang": 34, "r_i": 34, "paper": 34, "ngole": 34, "sect": 34, "laplacian": 34, "arrai": [34, 38], "expon": 34, "rais": 34, "diagon": 34, "pea": 34, "p_": 34, "equat": 34, "17": [34, 38], "watch": 34, "plai": 34, "vital": 34, "role": 34, "eigenvect": 34, "solv": 34, "repodir_path": 35, "output_path": 35, "config_path": 35, "source_fil": 35, "write": 35, "copi": 35, "source_dir": 35, "locat": 35, "date": 35, "represent": 35, "simplenamespac": 36, "extra": 36, "keyword": 36, "conf_fil": 36, "stream": 36, "doc": [36, 37], "yield": 36, "tf_zk": 37, "n_sourc": 37, "thin": 37, "plate": 37, "interp": 37, "zerkin": 37, "target_po": 37, "indep": 37, "img_dim": 37, "win_rad": 37, "window": 37, "radiu": 37, "level": 37, "robust": 37, "mad": 37, "median": 37, "tf_z1": 37, "tf_z2": 37, "norm_factor": 37, "intern": 37, "product": 37, "orthonorm": 37, "tf_zernik": 37, "tf_zernike_k": 37, "50": 37, "single_po": 37, "interp_posit": 37, "desired_snr": 37, "snr": 37, "zernike_basi": 37, "zk": 37, "tf_dtype": 37, "bicub": 37, "org": [37, 38], "4": [37, 38], "imgproc": 37, "geometric_transform": 37, "html": 37, "void": 37, "20resiz": 37, "inputarrai": 37, "20src": 37, "20outputarrai": 37, "20dst": 37, "20size": 37, "20dsize": 37, "20doubl": 37, "20fx": 37, "20fy": 37, "20int": 37, "20interpol": 37, "tensorflow_doc": 37, "www": [37, 38], "api_doc": 37, "cc": 37, "op": 37, "area": 37, "transform": 37, "footprint": 37, "averag": 37, "intersect": 37, "fraction": 37, "explan": 37, "link": 37, "medium": 37, "wenrudong": 37, "inter": 37, "actual": 37, "282a626a09b3": 37, "dim_x": 37, "dim_i": 37, "sim_psf_toolkit": 37, "tf_poly_psf": 37, "float64": 37, "obsolet": 37, "backward": 37, "compat": 37, "receiv": 37, "comand": 37, "correctli": 37, "input_arrai": 37, "old_rang": 37, "new_rang": 37, "jean": 38, "luc": 38, "starck": 38, "martin": 38, "kilbing": 38, "pierr": 38, "antoin": 38, "frugier": 38, "rethink": 38, "spread": 38, "problem": 38, "39": 38, "035008": 38, "feb": 38, "url": 38, "dx": 38, "doi": 38, "1088": 38, "1361": 38, "6420": 38, "acb664": 38, "charl": 38, "jarrod": 38, "millman": 38, "st": 38, "\u00e9": 38, "fan": 38, "j": 38, "van": 38, "der": 38, "walt": 38, "ralf": 38, "gommer": 38, "pauli": 38, "david": 38, "cournapeau": 38, "eric": 38, "wieser": 38, "julian": 38, "taylor": 38, "sebastian": 38, "berg": 38, "nathaniel": 38, "smith": 38, "robert": 38, "kern": 38, "matti": 38, "picu": 38, "stephan": 38, "hoyer": 38, "marten": 38, "kerkwijk": 38, "matthew": 38, "brett": 38, "allan": 38, "haldan": 38, "jaim": 38, "fern": 38, "\u00e1": 38, "ndez": 38, "del": 38, "\u00ed": 38, "mark": 38, "wieb": 38, "pearu": 38, "peterson": 38, "rard": 38, "marchant": 38, "kevin": 38, "sheppard": 38, "tyler": 38, "reddi": 38, "warren": 38, "weckess": 38, "hameer": 38, "abbasi": 38, "christoph": 38, "gohlk": 38, "travi": 38, "oliph": 38, "natur": 38, "585": 38, "7825": 38, "357": 38, "362": 38, "septemb": 38, "1038": 38, "s41586": 38, "020": 38, "2649": 38, "matt": 38, "haberland": 38, "evgeni": 38, "burovski": 38, "jonathan": 38, "bright": 38, "joshua": 38, "wilson": 38, "nikolai": 38, "mayorov": 38, "andrew": 38, "nelson": 38, "jone": 38, "larson": 38, "carei": 38, "i\u0307": 38, "lhan": 38, "polat": 38, "yu": 38, "feng": 38, "w": 38, "moor": 38, "jake": 38, "vanderpla": 38, "deni": 38, "laxald": 38, "josef": 38, "perktold": 38, "cimrman": 38, "ian": 38, "henriksen": 38, "quintero": 38, "ann": 38, "archibald": 38, "ant": 38, "\u00f4": 38, "nio": 38, "ribeiro": 38, "fabian": 38, "pedregosa": 38, "paul": 38, "mulbregt": 38, "contributor": 38, "fundament": 38, "algorithm": 38, "scientif": 38, "261": 38, "272": 38, "s41592": 38, "019": 38, "0686": 38, "mart": 38, "ashish": 38, "agarw": 38, "barham": 38, "eugen": 38, "brevdo": 38, "zhifeng": 38, "chen": 38, "craig": 38, "citro": 38, "greg": 38, "corrado": 38, "andi": 38, "davi": 38, "jeffrei": 38, "dean": 38, "matthieu": 38, "devin": 38, "sanjai": 38, "ghemawat": 38, "goodfellow": 38, "harp": 38, "geoffrei": 38, "irv": 38, "michael": 38, "isard": 38, "yangq": 38, "jia": 38, "rafal": 38, "jozefowicz": 38, "lukasz": 38, "kaiser": 38, "manjunath": 38, "kudlur": 38, "josh": 38, "levenberg": 38, "dandelion": 38, "man": 38, "rajat": 38, "monga": 38, "sherri": 38, "derek": 38, "murrai": 38, "chri": 38, "olah": 38, "mike": 38, "schuster": 38, "jonathon": 38, "shlen": 38, "benoit": 38, "steiner": 38, "ilya": 38, "sutskev": 38, "kunal": 38, "talwar": 38, "tucker": 38, "vincent": 38, "vanhouck": 38, "vijai": 38, "vasudevan": 38, "fernanda": 38, "ga": 38, "oriol": 38, "vinyal": 38, "pete": 38, "warden": 38, "wattenberg": 38, "wick": 38, "yuan": 38, "xiaoqiang": 38, "zheng": 38, "larg": 38, "heterogen": 38, "system": 38, "avail": 38, "jacopo": 38, "michel": 38, "modal": 38, "adapt": 38, "opt": 38, "soc": 38, "am": 38, "6": 38, "1160": 38, "1170": 38, "jun": 38, "opg": 38, "optica": 38, "josaa": 38, "abstract": 38, "cfm": 38, "uri": 38, "1364": 38, "001160": 38, "dr": 38, "dobb": 38, "journal": 38, "tool": 38, "alex": 38, "fork": 38, "buildmedia": 38, "readthedoc": 38, "media": 38, "pdf": 38, "latest": 38, "8": 38, "b": 38, "p": 38, "jarvi": 38, "mandelbaum": 38, "bernstein": 38, "bosch": 38, "simet": 38, "meyer": 38, "kacprzak": 38, "nakajima": 38, "zuntz": 38, "miyatak": 38, "dietrich": 38, "armstrong": 38, "melchior": 38, "gill": 38, "modular": 38, "galaxi": 38, "toolkit": 38, "astronomi": 38, "121": 38, "150": 38, "april": 38, "arxiv": 38, "1407": 38, "7676": 38, "1016": 38, "ascom": 38, "02": 38, "002": 38, "9": 38, "robitail": 38, "tollerud": 38, "greenfield": 38, "droettboom": 38, "brai": 38, "aldcroft": 38, "ginsburg": 38, "price": 38, "whelan": 38, "kerzendorf": 38, "conlei": 38, "crighton": 38, "barbari": 38, "d": 38, "muna": 38, "ferguson": 38, "grollier": 38, "parikh": 38, "nair": 38, "unther": 38, "deil": 38, "woillez": 38, "conseil": 38, "kramer": 38, "turner": 38, "l": 38, "singer": 38, "fox": 38, "weaver": 38, "v": 38, "zabalza": 38, "z": 38, "edward": 38, "azale": 38, "bostroem": 38, "burk": 38, "casei": 38, "crawford": 38, "dencheva": 38, "eli": 38, "jen": 38, "labri": 38, "lim": 38, "pierfederici": 38, "pontzen": 38, "ptak": 38, "refsdal": 38, "servillat": 38, "streicher": 38, "commun": 38, "aap": 38, "558": 38, "a33": 38, "octob": 38, "1307": 38, "6212": 38, "1051": 38, "0004": 38, "6361": 38, "201322068": 38, "sip": 38, "\u0151": 38, "cz": 38, "\u00fc": 38, "nther": 38, "shupe": 38, "vand": 38, "erpla": 38, "bradlei": 38, "rez": 38, "su": 38, "de": 38, "val": 38, "borro": 38, "cruz": 38, "ardelean": 38, "babej": 38, "bach": 38, "bachetti": 38, "bakanov": 38, "bamford": 38, "barentsen": 38, "barmbi": 38, "baumbach": 38, "berri": 38, "biscani": 38, "boquien": 38, "bouma": 38, "brammer": 38, "breytenbach": 38, "buddelmeij": 38, "calderon": 38, "cano": 38, "rodr": 38, "guez": 38, "cara": 38, "cardoso": 38, "cheedella": 38, "copin": 38, "corral": 38, "crichton": 38, "avella": 38, "depagn": 38, "donath": 38, "earl": 38, "erben": 38, "fabbro": 38, "ferreira": 38, "finethi": 38, "garrison": 38, "gibbon": 38, "goldstein": 38, "greco": 38, "groener": 38, "hagen": 38, "hirst": 38, "homeier": 38, "horton": 38, "hosseinzadeh": 38, "hu": 38, "hunkel": 38, "\u017e": 38, "ivezi": 38, "\u0107": 38, "jain": 38, "kanarek": 38, "kendrew": 38, "khvalko": 38, "king": 38, "kirkbi": 38, "kulkarni": 38, "kumar": 38, "lee": 38, "lenz": 38, "littlefair": 38, "ma": 38, "macleod": 38, "mastropietro": 38, "mcculli": 38, "montagnac": 38, "morri": 38, "mueller": 38, "mumford": 38, "murphi": 38, "nguyen": 38, "ninan": 38, "\u00f6": 38, "ogaz": 38, "oh": 38, "parejko": 38, "parlei": 38, "pascual": 38, "patil": 38, "plunkett": 38, "prochaska": 38, "rastogi": 38, "janga": 38, "sabat": 38, "sakurikar": 38, "seifert": 38, "sherbert": 38, "sherwood": 38, "shih": 38, "sick": 38, "silbig": 38, "singanamalla": 38, "sladen": 38, "soolei": 38, "sornarajah": 38, "teuben": 38, "thoma": 38, "tremblai": 38, "terr": 38, "\u00f3": 38, "la": 38, "vega": 38, "watkin": 38, "whitmor": 38, "statu": 38, "v2": 38, "aj": 38, "156": 38, "123": 38, "1801": 38, "02634": 38, "3847": 38, "1538": 38, "3881": 38, "aabc4f": 38, "11": 38, "adrian": 38, "pei": 38, "lian": 38, "nichola": 38, "starkman": 38, "larri": 38, "aarya": 38, "lia": 38, "brasseur": 38, "maximilian": 38, "axel": 38, "erik": 38, "eero": 38, "vaher": 38, "benjamin": 38, "jame": 38, "tocknel": 38, "william": 38, "jamieson": 38, "bruce": 38, "merri": 38, "matteo": 38, "moritz": 38, "alvarado": 38, "mont": 38, "attila": 38, "di": 38, "shreya": 38, "bapat": 38, "geert": 38, "juanjo": 38, "baz": 38, "manish": 38, "biswa": 38, "ric": 38, "daria": 38, "mihai": 38, "kyle": 38, "conroi": 38, "simon": 38, "cross": 38, "kell": 38, "francesco": 38, "eugenio": 38, "nadia": 38, "hadrien": 38, "devillepoix": 38, "rg": 38, "arthur": 38, "eigenbrot": 38, "leonardo": 38, "daniel": 38, "foreman": 38, "mackei": 38, "ryan": 38, "nabil": 38, "freij": 38, "suyog": 38, "garg": 38, "robel": 38, "geda": 38, "lauren": 38, "glattli": 38, "yash": 38, "gondhalekar": 38, "karl": 38, "gordon": 38, "grant": 38, "perri": 38, "austen": 38, "steve": 38, "guest": 38, "gurovich": 38, "rasmu": 38, "handberg": 38, "akeem": 38, "hart": 38, "zac": 38, "hatfield": 38, "dodd": 38, "griffin": 38, "tim": 38, "prajwel": 38, "joseph": 38, "bryce": 38, "kalmbach": 38, "emir": 38, "karamehmetoglu": 38, "miko": 38, "ka": 38, "uszi": 38, "ski": 38, "kellei": 38, "wolfgang": 38, "koch": 38, "shankar": 38, "kulumani": 38, "antoni": 38, "chun": 38, "ly": 38, "zhiyuan": 38, "conor": 38, "macbrid": 38, "jakob": 38, "maljaar": 38, "demitri": 38, "henrik": 38, "norman": 38, "richard": 38, "steen": 38, "oman": 38, "camilla": 38, "pacifici": 38, "sergio": 38, "granado": 38, "rohit": 38, "gabriel": 38, "perren": 38, "timothi": 38, "picker": 38, "tanuj": 38, "roulston": 38, "rykoff": 38, "jose": 38, "parikshit": 38, "je": 38, "salgado": 38, "aniket": 38, "sanghi": 38, "saunder": 38, "volodymyr": 38, "savchenko": 38, "ludwig": 38, "schwardt": 38, "eckert": 38, "albert": 38, "anani": 38, "shrei": 38, "gyanendra": 38, "shukla": 38, "simpson": 38, "sudheesh": 38, "leo": 38, "jaladh": 38, "singhal": 38, "manodeep": 38, "sinha": 38, "brigitta": 38, "spitler": 38, "stansbi": 38, "ol": 38, "jani": 38, "umak": 38, "john": 38, "swinbank": 38, "dan": 38, "taranu": 38, "nikita": 38, "tewari": 38, "miguel": 38, "samuel": 38, "kooten": 38, "zlatan": 38, "vasovi": 38, "shresth": 38, "verma": 38, "jo": 38, "vin": 38, "ciu": 38, "miranda": 38, "peter": 38, "tom": 38, "winkel": 38, "wood": 38, "vasei": 38, "rui": 38, "xue": 38, "yoachim": 38, "zhang": 38, "andrea": 38, "zonca": 38, "sustain": 38, "grow": 38, "orient": 38, "major": 38, "releas": 38, "v5": 38, "apj": 38, "935": 38, "167": 38, "august": 38, "2206": 38, "14220": 38, "4357": 38, "ac7c74": 38, "graphic": 38, "engin": 38, "90": 38, "95": 38, "1109": 38, "mcse": 38, "55": 38, "13": 38, "visual": 38, "60": 38, "3021": 38, "21105": 38, "joss": 38, "03021": 38}, "objects": {"": [[8, 0, 0, "-", "wf_psf"]], "wf_psf": [[9, 0, 0, "-", "data"], [11, 0, 0, "-", "info"], [12, 0, 0, "-", "metrics"], [15, 0, 0, "-", "plotting"], [18, 0, 0, "-", "psf_models"], [26, 0, 0, "-", "run"], [27, 0, 0, "-", "sims"], [29, 0, 0, "-", "training"], [32, 0, 0, "-", "utils"]], "wf_psf.data": [[10, 0, 0, "-", "training_preprocessing"]], "wf_psf.data.training_preprocessing": [[10, 1, 1, "", "TestDataHandler"], [10, 1, 1, "", "TrainingDataHandler"]], "wf_psf.metrics": [[13, 0, 0, "-", "metrics"], [14, 0, 0, "-", "metrics_interface"]], "wf_psf.metrics.metrics": [[13, 2, 1, "", "compute_metrics"], [13, 2, 1, "", "compute_mono_metric"], [13, 2, 1, "", "compute_one_opd_rmse"], [13, 2, 1, "", "compute_opd_metrics"], [13, 2, 1, "", "compute_opd_metrics_mccd"], [13, 2, 1, "", "compute_opd_metrics_param_model"], [13, 2, 1, "", "compute_opd_metrics_polymodel"], [13, 2, 1, "", "compute_poly_metric"], [13, 2, 1, "", "compute_shape_metrics"], [13, 2, 1, "", "gen_GT_wf_model"], [13, 2, 1, "", "plot_function"], [13, 2, 1, "", "plot_imgs"], [13, 2, 1, "", "plot_residual_maps"]], "wf_psf.metrics.metrics_interface": [[14, 1, 1, "", "MetricsParamsHandler"], [14, 2, 1, "", "evaluate_model"], [14, 2, 1, "", "ground_truth_psf_model"]], "wf_psf.metrics.metrics_interface.MetricsParamsHandler": [[14, 3, 1, "", "evaluate_metrics_mono_rmse"], [14, 3, 1, "", "evaluate_metrics_opd"], [14, 3, 1, "", "evaluate_metrics_polychromatic_lowres"], [14, 3, 1, "", "evaluate_metrics_shape"]], "wf_psf.plotting": [[16, 0, 0, "-", "plot_optimisation_metrics"], [17, 0, 0, "-", "plots_interface"]], "wf_psf.plotting.plot_optimisation_metrics": [[16, 2, 1, "", "plot_optimisation_metrics"]], "wf_psf.plotting.plots_interface": [[17, 1, 1, "", "MetricsPlotHandler"], [17, 1, 1, "", "MonochromaticMetricsPlotHandler"], [17, 1, 1, "", "ShapeMetricsPlotHandler"], [17, 2, 1, "", "define_plot_style"], [17, 2, 1, "", "get_number_of_stars"], [17, 2, 1, "", "make_plot"], [17, 2, 1, "", "plot_metrics"]], "wf_psf.plotting.plots_interface.MetricsPlotHandler": [[17, 3, 1, "", "get_metrics"], [17, 4, 1, "", "ids"], [17, 3, 1, "", "plot"]], "wf_psf.plotting.plots_interface.MonochromaticMetricsPlotHandler": [[17, 4, 1, "", "ids"], [17, 3, 1, "", "plot"]], "wf_psf.plotting.plots_interface.ShapeMetricsPlotHandler": [[17, 4, 1, "", "id"], [17, 3, 1, "", "plot"]], "wf_psf.psf_models": [[19, 0, 0, "-", "psf_model_parametric"], [20, 0, 0, "-", "psf_model_semiparametric"], [21, 0, 0, "-", "psf_models"], [22, 0, 0, "-", "tf_layers"], [23, 0, 0, "-", "tf_modules"], [24, 0, 0, "-", "tf_psf_field"], [25, 0, 0, "-", "zernikes"]], "wf_psf.psf_models.psf_model_parametric": [[19, 1, 1, "", "TF_PSF_field_model"]], "wf_psf.psf_models.psf_model_parametric.TF_PSF_field_model": [[19, 3, 1, "", "assign_coeff_matrix"], [19, 3, 1, "", "call"], [19, 3, 1, "", "get_coeff_matrix"], [19, 4, 1, "", "ids"], [19, 3, 1, "", "predict_mono_psfs"], [19, 3, 1, "", "predict_opd"], [19, 3, 1, "", "set_output_Q"]], "wf_psf.psf_models.psf_model_semiparametric": [[20, 1, 1, "", "TF_SemiParam_field"]], "wf_psf.psf_models.psf_model_semiparametric.TF_SemiParam_field": [[20, 3, 1, "", "assign_S_mat"], [20, 3, 1, "", "assign_coeff_matrix"], [20, 3, 1, "", "call"], [20, 3, 1, "", "get_coeff_matrix"], [20, 4, 1, "", "ids"], [20, 3, 1, "", "predict_mono_psfs"], [20, 3, 1, "", "predict_opd"], [20, 3, 1, "", "project_DD_features"], [20, 3, 1, "", "set_nonzero_nonparam"], [20, 3, 1, "", "set_output_Q"], [20, 3, 1, "", "set_trainable_layers"], [20, 3, 1, "", "set_zero_nonparam"]], "wf_psf.psf_models.psf_models": [[21, 5, 1, "", "PsfModelError"], [21, 2, 1, "", "get_psf_model"], [21, 2, 1, "", "register_psfclass"], [21, 2, 1, "", "set_psf_model"], [21, 2, 1, "", "simPSF"], [21, 2, 1, "", "tf_obscurations"], [21, 2, 1, "", "tf_zernike_cube"]], "wf_psf.psf_models.tf_layers": [[22, 1, 1, "", "OLD_TF_batch_poly_PSF"], [22, 1, 1, "", "TF_NP_GRAPH_OPD"], [22, 1, 1, "", "TF_NP_MCCD_OPD_v2"], [22, 1, 1, "", "TF_NP_poly_OPD"], [22, 1, 1, "", "TF_batch_mono_PSF"], [22, 1, 1, "", "TF_batch_poly_PSF"], [22, 1, 1, "", "TF_physical_layer"], [22, 1, 1, "", "TF_poly_Z_field"], [22, 1, 1, "", "TF_zernike_OPD"]], "wf_psf.psf_models.tf_layers.OLD_TF_batch_poly_PSF": [[22, 3, 1, "", "calculate_mono_PSF"], [22, 3, 1, "", "calculate_poly_PSF"], [22, 3, 1, "", "call"], [22, 3, 1, "", "set_psf_batch"]], "wf_psf.psf_models.tf_layers.TF_NP_GRAPH_OPD": [[22, 3, 1, "", "call"], [22, 3, 1, "", "init_vars"], [22, 3, 1, "", "predict"], [22, 3, 1, "", "set_alpha_identity"], [22, 3, 1, "", "set_alpha_zero"]], "wf_psf.psf_models.tf_layers.TF_NP_MCCD_OPD_v2": [[22, 3, 1, "", "call"], [22, 3, 1, "", "init_vars"], [22, 3, 1, "", "predict"], [22, 3, 1, "", "set_alpha_identity"], [22, 3, 1, "", "set_alpha_zero"]], "wf_psf.psf_models.tf_layers.TF_NP_poly_OPD": [[22, 3, 1, "", "assign_S_mat"], [22, 3, 1, "", "call"], [22, 3, 1, "", "init_vars"], [22, 3, 1, "", "set_alpha_identity"], [22, 3, 1, "", "set_alpha_zero"]], "wf_psf.psf_models.tf_layers.TF_batch_mono_PSF": [[22, 3, 1, "", "calculate_mono_PSF"], [22, 3, 1, "", "call"], [22, 3, 1, "", "init_mono_PSF"], [22, 3, 1, "", "set_lambda_phaseN"], [22, 3, 1, "", "set_output_params"]], "wf_psf.psf_models.tf_layers.TF_batch_poly_PSF": [[22, 3, 1, "", "calculate_mono_PSF"], [22, 3, 1, "", "calculate_poly_PSF"], [22, 3, 1, "", "call"]], "wf_psf.psf_models.tf_layers.TF_physical_layer": [[22, 3, 1, "", "call"], [22, 3, 1, "", "interpolate_all"], [22, 3, 1, "", "interpolate_independent_Zk"], [22, 3, 1, "", "interpolate_top_K"]], "wf_psf.psf_models.tf_layers.TF_poly_Z_field": [[22, 3, 1, "", "assign_coeff_matrix"], [22, 3, 1, "", "call"], [22, 3, 1, "", "get_coeff_matrix"], [22, 3, 1, "", "get_poly_coefficients_shape"], [22, 3, 1, "", "init_coeff_matrix"]], "wf_psf.psf_models.tf_layers.TF_zernike_OPD": [[22, 3, 1, "", "call"]], "wf_psf.psf_models.tf_modules": [[23, 1, 1, "", "TF_Zernike_mono_PSF"], [23, 1, 1, "", "TF_build_phase"], [23, 1, 1, "", "TF_fft_diffract"], [23, 1, 1, "", "TF_mono_PSF"], [23, 1, 1, "", "TF_zernike_OPD"]], "wf_psf.psf_models.tf_modules.TF_build_phase": [[23, 3, 1, "", "apply_obscurations"], [23, 3, 1, "", "opd_to_phase"], [23, 3, 1, "", "zero_padding_diffraction"]], "wf_psf.psf_models.tf_modules.TF_fft_diffract": [[23, 3, 1, "", "crop_img"], [23, 3, 1, "", "normalize_psf"], [23, 3, 1, "", "tf_crop_img"]], "wf_psf.psf_models.tf_psf_field": [[24, 1, 1, "", "TF_GT_physical_field"], [24, 1, 1, "", "TF_PSF_field_model"], [24, 1, 1, "", "TF_SemiParam_field"], [24, 1, 1, "", "TF_physical_poly_field"], [24, 2, 1, "", "build_PSF_model"]], "wf_psf.psf_models.tf_psf_field.TF_GT_physical_field": [[24, 3, 1, "", "call"], [24, 3, 1, "", "compute_zernikes"], [24, 3, 1, "", "predict_mono_psfs"], [24, 3, 1, "", "predict_opd"], [24, 3, 1, "", "predict_step"], [24, 3, 1, "", "predict_zernikes"], [24, 3, 1, "", "set_output_Q"]], "wf_psf.psf_models.tf_psf_field.TF_PSF_field_model": [[24, 3, 1, "", "assign_coeff_matrix"], [24, 3, 1, "", "call"], [24, 3, 1, "", "get_coeff_matrix"], [24, 3, 1, "", "predict_mono_psfs"], [24, 3, 1, "", "predict_opd"], [24, 3, 1, "", "set_output_Q"]], "wf_psf.psf_models.tf_psf_field.TF_SemiParam_field": [[24, 3, 1, "", "assign_S_mat"], [24, 3, 1, "", "assign_coeff_matrix"], [24, 3, 1, "", "call"], [24, 3, 1, "", "get_coeff_matrix"], [24, 3, 1, "", "predict_mono_psfs"], [24, 3, 1, "", "predict_opd"], [24, 3, 1, "", "project_DD_features"], [24, 3, 1, "", "set_nonzero_nonparam"], [24, 3, 1, "", "set_output_Q"], [24, 3, 1, "", "set_trainable_layers"], [24, 3, 1, "", "set_zero_nonparam"]], "wf_psf.psf_models.tf_psf_field.TF_physical_poly_field": [[24, 3, 1, "", "assign_coeff_matrix"], [24, 3, 1, "", "call"], [24, 3, 1, "", "compute_zernikes"], [24, 3, 1, "", "get_coeff_matrix"], [24, 3, 1, "", "predict_mono_psfs"], [24, 3, 1, "", "predict_opd"], [24, 3, 1, "", "predict_step"], [24, 3, 1, "", "predict_zernikes"], [24, 3, 1, "", "set_nonzero_nonparam"], [24, 3, 1, "", "set_output_Q"], [24, 3, 1, "", "set_trainable_layers"], [24, 3, 1, "", "set_zero_nonparam"], [24, 3, 1, "", "zks_pad"]], "wf_psf.psf_models.zernikes": [[25, 2, 1, "", "zernike_generator"]], "wf_psf.run": [[26, 2, 1, "", "mainMethod"], [26, 2, 1, "", "setProgramOptions"]], "wf_psf.sims": [[28, 0, 0, "-", "SimPSFToolkit"]], "wf_psf.sims.SimPSFToolkit": [[28, 1, 1, "", "SimPSFToolkit"], [28, 2, 1, "", "resize"]], "wf_psf.sims.SimPSFToolkit.SimPSFToolkit": [[28, 3, 1, "", "SED_gen_noise"], [28, 3, 1, "", "calc_SED_wave_values"], [28, 3, 1, "", "calculate_opd"], [28, 3, 1, "", "calculate_wfe_rms"], [28, 3, 1, "", "check_wfe_rms"], [28, 3, 1, "", "crop_img"], [28, 3, 1, "", "decimate_im"], [28, 3, 1, "", "diffract_phase"], [28, 3, 1, "", "feasible_N"], [28, 3, 1, "", "feasible_wavelength"], [28, 3, 1, "", "fft_diffract"], [28, 3, 1, "", "filter_SED"], [28, 3, 1, "", "gen_SED_interp"], [28, 3, 1, "", "gen_SED_sampler"], [28, 3, 1, "", "gen_random_Z_coeffs"], [28, 3, 1, "", "generate_mono_PSF"], [28, 3, 1, "", "generate_poly_PSF"], [28, 3, 1, "", "generate_pupil_obscurations"], [28, 3, 1, "", "get_psf"], [28, 3, 1, "", "get_radial_idx"], [28, 3, 1, "", "get_z_coeffs"], [28, 3, 1, "", "interp_SED"], [28, 3, 1, "", "normalize_zernikes"], [28, 3, 1, "", "opd_phase_plotter"], [28, 3, 1, "", "plot_opd_phase"], [28, 3, 1, "", "plot_psf"], [28, 3, 1, "", "plot_z_coeffs"], [28, 3, 1, "", "psf_plotter"], [28, 3, 1, "", "set_z_coeffs"]], "wf_psf.training": [[30, 0, 0, "-", "train"], [31, 0, 0, "-", "train_utils"]], "wf_psf.training.train": [[30, 1, 1, "", "TrainingParamsHandler"], [30, 2, 1, "", "filepath_chkp_callback"], [30, 2, 1, "", "get_gpu_info"], [30, 2, 1, "", "setup_training"], [30, 2, 1, "", "train"]], "wf_psf.training.train.TrainingParamsHandler": [[30, 6, 1, "", "id_name"], [30, 6, 1, "", "learning_rate_non_params"], [30, 6, 1, "", "learning_rate_params"], [30, 6, 1, "", "model_name"], [30, 6, 1, "", "model_params"], [30, 6, 1, "", "multi_cycle_params"], [30, 6, 1, "", "n_epochs_non_params"], [30, 6, 1, "", "n_epochs_params"], [30, 6, 1, "", "total_cycles"], [30, 6, 1, "", "training_hparams"]], "wf_psf.training.train_utils": [[31, 1, 1, "", "L1ParamScheduler"], [31, 2, 1, "", "general_train_cycle"], [31, 2, 1, "", "l1_schedule_rule"], [31, 2, 1, "", "param_train_cycle"]], "wf_psf.training.train_utils.L1ParamScheduler": [[31, 3, 1, "", "on_epoch_begin"]], "wf_psf.utils": [[33, 0, 0, "-", "configs_handler"], [34, 0, 0, "-", "graph_utils"], [35, 0, 0, "-", "io"], [36, 0, 0, "-", "read_config"], [37, 0, 0, "-", "utils"]], "wf_psf.utils.configs_handler": [[33, 1, 1, "", "DataConfigHandler"], [33, 1, 1, "", "MetricsConfigHandler"], [33, 1, 1, "", "PlottingConfigHandler"], [33, 1, 1, "", "TrainingConfigHandler"], [33, 2, 1, "", "get_run_config"], [33, 2, 1, "", "register_configclass"], [33, 2, 1, "", "set_run_config"]], "wf_psf.utils.configs_handler.MetricsConfigHandler": [[33, 3, 1, "", "call_plot_config_handler_run"], [33, 3, 1, "", "get_psf_model_weights_filepath"], [33, 4, 1, "", "ids"], [33, 3, 1, "", "run"]], "wf_psf.utils.configs_handler.PlottingConfigHandler": [[33, 3, 1, "", "check_and_update_metrics_confs"], [33, 4, 1, "", "ids"], [33, 3, 1, "", "load_metrics_into_dict"], [33, 3, 1, "", "make_dict_of_metrics"], [33, 3, 1, "", "run"]], "wf_psf.utils.configs_handler.TrainingConfigHandler": [[33, 4, 1, "", "ids"], [33, 3, 1, "", "run"]], "wf_psf.utils.graph_utils": [[34, 1, 1, "", "GraphBuilder"], [34, 2, 1, "", "gen_Pea"], [34, 2, 1, "", "pairwise_distances"], [34, 2, 1, "", "select_vstar"]], "wf_psf.utils.graph_utils.GraphBuilder": [[34, 3, 1, "", "gen_eigenvects"], [34, 3, 1, "", "pick_emax"], [34, 3, 1, "", "select_params"]], "wf_psf.utils.io": [[35, 1, 1, "", "FileIOHandler"]], "wf_psf.utils.io.FileIOHandler": [[35, 3, 1, "", "copy_conffile_to_output_dir"], [35, 3, 1, "", "get_checkpoint_dir"], [35, 3, 1, "", "get_config_dir"], [35, 3, 1, "", "get_metrics_dir"], [35, 3, 1, "", "get_optimizer_dir"], [35, 3, 1, "", "get_plots_dir"], [35, 3, 1, "", "get_psf_model_dir"], [35, 3, 1, "", "get_timestamp"], [35, 3, 1, "", "setup_outputs"]], "wf_psf.utils.read_config": [[36, 1, 1, "", "RecursiveNamespace"], [36, 2, 1, "", "read_conf"], [36, 2, 1, "", "read_stream"], [36, 2, 1, "", "read_yaml"]], "wf_psf.utils.read_config.RecursiveNamespace": [[36, 3, 1, "", "map_entry"]], "wf_psf.utils.utils": [[37, 1, 1, "", "IndependentZernikeInterpolation"], [37, 1, 1, "", "NoiseEstimator"], [37, 2, 1, "", "PI_zernikes"], [37, 1, 1, "", "ZernikeInterpolation"], [37, 2, 1, "", "add_noise"], [37, 2, 1, "", "calc_poly_position_mat"], [37, 2, 1, "", "calc_wfe"], [37, 2, 1, "", "calc_wfe_rms"], [37, 2, 1, "", "convert_to_tf"], [37, 2, 1, "", "decimate_im"], [37, 2, 1, "", "downsample_im"], [37, 2, 1, "", "generate_SED_elems"], [37, 2, 1, "", "generate_SED_elems_in_tensorflow"], [37, 2, 1, "", "generate_packed_elems"], [37, 2, 1, "", "load_multi_cycle_params_click"], [37, 2, 1, "", "resize"], [37, 2, 1, "", "scale_to_range"], [37, 2, 1, "", "zernike_generator"]], "wf_psf.utils.utils.IndependentZernikeInterpolation": [[37, 3, 1, "", "interp_one_zk"], [37, 3, 1, "", "interpolate_zks"]], "wf_psf.utils.utils.NoiseEstimator": [[37, 3, 1, "", "estimate_noise"], [37, 3, 1, "", "sigma_mad"]], "wf_psf.utils.utils.ZernikeInterpolation": [[37, 3, 1, "", "interpolate_zk"], [37, 3, 1, "", "interpolate_zks"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:function", "3": "py:method", "4": "py:attribute", "5": "py:exception", "6": "py:property"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "function", "Python function"], "3": ["py", "method", "Python method"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "exception", "Python exception"], "6": ["py", "property", "Python property"]}, "titleterms": {"about": 0, "basic": 1, "execut": 1, "configur": 2, "data": [2, 9, 10], "train": [2, 29, 30, 31], "metric": [2, 12, 13, 14], "plot": [2, 15, 16, 17], "master": 2, "depend": 3, "python": 3, "wavediff": 4, "instal": 5, "step": 5, "wf_psf": [6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "packag": [8, 9, 12, 15, 18, 27, 29, 32], "subpackag": 8, "submodul": [8, 9, 12, 15, 18, 27, 29, 32], "training_preprocess": 10, "modul": [10, 11, 13, 14, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 28, 30, 31, 33, 34, 35, 36, 37], "info": 11, "metrics_interfac": 14, "plot_optimisation_metr": 16, "plots_interfac": 17, "psf_model": [18, 19, 20, 21, 22, 23, 24, 25], "psf_model_parametr": 19, "psf_model_semiparametr": 20, "tf_layer": 22, "tf_modul": 23, "tf_psf_field": 24, "zernik": 25, "run": 26, "sim": [27, 28], "simpsftoolkit": 28, "train_util": 31, "util": [32, 33, 34, 35, 36, 37], "configs_handl": 33, "graph_util": 34, "io": 35, "read_config": 36, "refer": 38}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.viewcode": 1, "sphinxcontrib.bibtex": 9, "sphinx": 60}, "alltitles": {"About": [[0, "about"]], "Basic Execution": [[1, "basic-execution"]], "Configuration": [[2, "configuration"]], "Data Configuration": [[2, "data-configuration"]], "Training Configuration": [[2, "training-configuration"]], "Metrics Configuration": [[2, "metrics-configuration"]], "Plot Configuration": [[2, "plot-configuration"]], "Master Configuration": [[2, "master-configuration"]], "Dependencies": [[3, "dependencies"]], "Python Dependencies": [[3, "python-dependencies"]], "WaveDiff": [[4, "wavediff"]], "Installation": [[5, "installation"]], "Installation Steps": [[5, "installation-steps"]], "wf_psf": [[6, "wf-psf"]], "wf_psf package": [[8, "module-wf_psf"]], "Subpackages": [[8, "subpackages"]], "Submodules": [[8, "submodules"], [9, "submodules"], [12, "submodules"], [15, "submodules"], [18, "submodules"], [27, "submodules"], [29, "submodules"], [32, "submodules"]], "wf_psf.data package": [[9, "module-wf_psf.data"]], "wf_psf.data.training_preprocessing module": [[10, "module-wf_psf.data.training_preprocessing"]], "wf_psf.info module": [[11, "module-wf_psf.info"]], "wf_psf.metrics package": [[12, "module-wf_psf.metrics"]], "wf_psf.metrics.metrics module": [[13, "module-wf_psf.metrics.metrics"]], "wf_psf.metrics.metrics_interface module": [[14, "module-wf_psf.metrics.metrics_interface"]], "wf_psf.plotting package": [[15, "module-wf_psf.plotting"]], "wf_psf.plotting.plot_optimisation_metrics module": [[16, "module-wf_psf.plotting.plot_optimisation_metrics"]], "wf_psf.plotting.plots_interface module": [[17, "module-wf_psf.plotting.plots_interface"]], "wf_psf.psf_models package": [[18, "module-wf_psf.psf_models"]], "wf_psf.psf_models.psf_model_parametric module": [[19, "module-wf_psf.psf_models.psf_model_parametric"]], "wf_psf.psf_models.psf_model_semiparametric module": [[20, "module-wf_psf.psf_models.psf_model_semiparametric"]], "wf_psf.psf_models.psf_models module": [[21, "module-wf_psf.psf_models.psf_models"]], "wf_psf.psf_models.tf_layers module": [[22, "module-wf_psf.psf_models.tf_layers"]], "wf_psf.psf_models.tf_modules module": [[23, "module-wf_psf.psf_models.tf_modules"]], "wf_psf.psf_models.tf_psf_field module": [[24, "module-wf_psf.psf_models.tf_psf_field"]], "wf_psf.psf_models.zernikes module": [[25, "module-wf_psf.psf_models.zernikes"]], "wf_psf.run module": [[26, "module-wf_psf.run"]], "wf_psf.sims package": [[27, "module-wf_psf.sims"]], "wf_psf.sims.SimPSFToolkit module": [[28, "module-wf_psf.sims.SimPSFToolkit"]], "wf_psf.training package": [[29, "module-wf_psf.training"]], "wf_psf.training.train module": [[30, "module-wf_psf.training.train"]], "wf_psf.training.train_utils module": [[31, "module-wf_psf.training.train_utils"]], "wf_psf.utils package": [[32, "module-wf_psf.utils"]], "wf_psf.utils.configs_handler module": [[33, "module-wf_psf.utils.configs_handler"]], "wf_psf.utils.graph_utils module": [[34, "module-wf_psf.utils.graph_utils"]], "wf_psf.utils.io module": [[35, "module-wf_psf.utils.io"]], "wf_psf.utils.read_config module": [[36, "module-wf_psf.utils.read_config"]], "wf_psf.utils.utils module": [[37, "module-wf_psf.utils.utils"]], "References": [[38, "references"]]}, "indexentries": {"module": [[8, "module-wf_psf"], [9, "module-wf_psf.data"], [10, "module-wf_psf.data.training_preprocessing"], [11, "module-wf_psf.info"], [12, "module-wf_psf.metrics"], [13, "module-wf_psf.metrics.metrics"], [14, "module-wf_psf.metrics.metrics_interface"], [15, "module-wf_psf.plotting"], [16, "module-wf_psf.plotting.plot_optimisation_metrics"], [17, "module-wf_psf.plotting.plots_interface"], [18, "module-wf_psf.psf_models"], [19, "module-wf_psf.psf_models.psf_model_parametric"], [20, "module-wf_psf.psf_models.psf_model_semiparametric"], [21, "module-wf_psf.psf_models.psf_models"], [22, "module-wf_psf.psf_models.tf_layers"], [23, "module-wf_psf.psf_models.tf_modules"], [24, "module-wf_psf.psf_models.tf_psf_field"], [25, "module-wf_psf.psf_models.zernikes"], [26, "module-wf_psf.run"], [27, "module-wf_psf.sims"], [28, "module-wf_psf.sims.SimPSFToolkit"], [29, "module-wf_psf.training"], [30, "module-wf_psf.training.train"], [31, "module-wf_psf.training.train_utils"], [32, "module-wf_psf.utils"], [33, "module-wf_psf.utils.configs_handler"], [34, "module-wf_psf.utils.graph_utils"], [35, "module-wf_psf.utils.io"], [36, "module-wf_psf.utils.read_config"], [37, "module-wf_psf.utils.utils"]], "wf_psf": [[8, "module-wf_psf"]], "wf_psf.data": [[9, "module-wf_psf.data"]], "testdatahandler (class in wf_psf.data.training_preprocessing)": [[10, "wf_psf.data.training_preprocessing.TestDataHandler"]], "trainingdatahandler (class in wf_psf.data.training_preprocessing)": [[10, "wf_psf.data.training_preprocessing.TrainingDataHandler"]], "wf_psf.data.training_preprocessing": [[10, "module-wf_psf.data.training_preprocessing"]], "wf_psf.info": [[11, "module-wf_psf.info"]], "wf_psf.metrics": [[12, "module-wf_psf.metrics"]], "compute_metrics() (in module wf_psf.metrics.metrics)": [[13, "wf_psf.metrics.metrics.compute_metrics"]], "compute_mono_metric() (in module wf_psf.metrics.metrics)": [[13, "wf_psf.metrics.metrics.compute_mono_metric"]], "compute_one_opd_rmse() (in module wf_psf.metrics.metrics)": [[13, "wf_psf.metrics.metrics.compute_one_opd_rmse"]], "compute_opd_metrics() (in module wf_psf.metrics.metrics)": [[13, "wf_psf.metrics.metrics.compute_opd_metrics"]], "compute_opd_metrics_mccd() (in module wf_psf.metrics.metrics)": [[13, "wf_psf.metrics.metrics.compute_opd_metrics_mccd"]], "compute_opd_metrics_param_model() (in module wf_psf.metrics.metrics)": [[13, "wf_psf.metrics.metrics.compute_opd_metrics_param_model"]], "compute_opd_metrics_polymodel() (in module wf_psf.metrics.metrics)": [[13, "wf_psf.metrics.metrics.compute_opd_metrics_polymodel"]], "compute_poly_metric() (in module wf_psf.metrics.metrics)": [[13, "wf_psf.metrics.metrics.compute_poly_metric"]], "compute_shape_metrics() (in module wf_psf.metrics.metrics)": [[13, "wf_psf.metrics.metrics.compute_shape_metrics"]], "gen_gt_wf_model() (in module wf_psf.metrics.metrics)": [[13, "wf_psf.metrics.metrics.gen_GT_wf_model"]], "plot_function() (in module wf_psf.metrics.metrics)": [[13, "wf_psf.metrics.metrics.plot_function"]], "plot_imgs() (in module wf_psf.metrics.metrics)": [[13, "wf_psf.metrics.metrics.plot_imgs"]], "plot_residual_maps() (in module wf_psf.metrics.metrics)": [[13, "wf_psf.metrics.metrics.plot_residual_maps"]], "wf_psf.metrics.metrics": [[13, "module-wf_psf.metrics.metrics"]], "metricsparamshandler (class in wf_psf.metrics.metrics_interface)": [[14, "wf_psf.metrics.metrics_interface.MetricsParamsHandler"]], "evaluate_metrics_mono_rmse() (wf_psf.metrics.metrics_interface.metricsparamshandler method)": [[14, "wf_psf.metrics.metrics_interface.MetricsParamsHandler.evaluate_metrics_mono_rmse"]], "evaluate_metrics_opd() (wf_psf.metrics.metrics_interface.metricsparamshandler method)": [[14, "wf_psf.metrics.metrics_interface.MetricsParamsHandler.evaluate_metrics_opd"]], "evaluate_metrics_polychromatic_lowres() (wf_psf.metrics.metrics_interface.metricsparamshandler method)": [[14, "wf_psf.metrics.metrics_interface.MetricsParamsHandler.evaluate_metrics_polychromatic_lowres"]], "evaluate_metrics_shape() (wf_psf.metrics.metrics_interface.metricsparamshandler method)": [[14, "wf_psf.metrics.metrics_interface.MetricsParamsHandler.evaluate_metrics_shape"]], "evaluate_model() (in module wf_psf.metrics.metrics_interface)": [[14, "wf_psf.metrics.metrics_interface.evaluate_model"]], "ground_truth_psf_model() (in module wf_psf.metrics.metrics_interface)": [[14, "wf_psf.metrics.metrics_interface.ground_truth_psf_model"]], "wf_psf.metrics.metrics_interface": [[14, "module-wf_psf.metrics.metrics_interface"]], "wf_psf.plotting": [[15, "module-wf_psf.plotting"]], "plot_optimisation_metrics() (in module wf_psf.plotting.plot_optimisation_metrics)": [[16, "wf_psf.plotting.plot_optimisation_metrics.plot_optimisation_metrics"]], "wf_psf.plotting.plot_optimisation_metrics": [[16, "module-wf_psf.plotting.plot_optimisation_metrics"]], "metricsplothandler (class in wf_psf.plotting.plots_interface)": [[17, "wf_psf.plotting.plots_interface.MetricsPlotHandler"]], "monochromaticmetricsplothandler (class in wf_psf.plotting.plots_interface)": [[17, "wf_psf.plotting.plots_interface.MonochromaticMetricsPlotHandler"]], "shapemetricsplothandler (class in wf_psf.plotting.plots_interface)": [[17, "wf_psf.plotting.plots_interface.ShapeMetricsPlotHandler"]], "define_plot_style() (in module wf_psf.plotting.plots_interface)": [[17, "wf_psf.plotting.plots_interface.define_plot_style"]], "get_metrics() (wf_psf.plotting.plots_interface.metricsplothandler method)": [[17, "wf_psf.plotting.plots_interface.MetricsPlotHandler.get_metrics"]], "get_number_of_stars() (in module wf_psf.plotting.plots_interface)": [[17, "wf_psf.plotting.plots_interface.get_number_of_stars"]], "id (wf_psf.plotting.plots_interface.shapemetricsplothandler attribute)": [[17, "wf_psf.plotting.plots_interface.ShapeMetricsPlotHandler.id"]], "ids (wf_psf.plotting.plots_interface.metricsplothandler attribute)": [[17, "wf_psf.plotting.plots_interface.MetricsPlotHandler.ids"]], "ids (wf_psf.plotting.plots_interface.monochromaticmetricsplothandler attribute)": [[17, "wf_psf.plotting.plots_interface.MonochromaticMetricsPlotHandler.ids"]], "make_plot() (in module wf_psf.plotting.plots_interface)": [[17, "wf_psf.plotting.plots_interface.make_plot"]], "plot() (wf_psf.plotting.plots_interface.metricsplothandler method)": [[17, "wf_psf.plotting.plots_interface.MetricsPlotHandler.plot"]], "plot() (wf_psf.plotting.plots_interface.monochromaticmetricsplothandler method)": [[17, "wf_psf.plotting.plots_interface.MonochromaticMetricsPlotHandler.plot"]], "plot() (wf_psf.plotting.plots_interface.shapemetricsplothandler method)": [[17, "wf_psf.plotting.plots_interface.ShapeMetricsPlotHandler.plot"]], "plot_metrics() (in module wf_psf.plotting.plots_interface)": [[17, "wf_psf.plotting.plots_interface.plot_metrics"]], "wf_psf.plotting.plots_interface": [[17, "module-wf_psf.plotting.plots_interface"]], "wf_psf.psf_models": [[18, "module-wf_psf.psf_models"]], "tf_psf_field_model (class in wf_psf.psf_models.psf_model_parametric)": [[19, "wf_psf.psf_models.psf_model_parametric.TF_PSF_field_model"]], "assign_coeff_matrix() (wf_psf.psf_models.psf_model_parametric.tf_psf_field_model method)": [[19, "wf_psf.psf_models.psf_model_parametric.TF_PSF_field_model.assign_coeff_matrix"]], "call() (wf_psf.psf_models.psf_model_parametric.tf_psf_field_model method)": [[19, "wf_psf.psf_models.psf_model_parametric.TF_PSF_field_model.call"]], "get_coeff_matrix() (wf_psf.psf_models.psf_model_parametric.tf_psf_field_model method)": [[19, "wf_psf.psf_models.psf_model_parametric.TF_PSF_field_model.get_coeff_matrix"]], "ids (wf_psf.psf_models.psf_model_parametric.tf_psf_field_model attribute)": [[19, "wf_psf.psf_models.psf_model_parametric.TF_PSF_field_model.ids"]], "predict_mono_psfs() (wf_psf.psf_models.psf_model_parametric.tf_psf_field_model method)": [[19, "wf_psf.psf_models.psf_model_parametric.TF_PSF_field_model.predict_mono_psfs"]], "predict_opd() (wf_psf.psf_models.psf_model_parametric.tf_psf_field_model method)": [[19, "wf_psf.psf_models.psf_model_parametric.TF_PSF_field_model.predict_opd"]], "set_output_q() (wf_psf.psf_models.psf_model_parametric.tf_psf_field_model method)": [[19, "wf_psf.psf_models.psf_model_parametric.TF_PSF_field_model.set_output_Q"]], "wf_psf.psf_models.psf_model_parametric": [[19, "module-wf_psf.psf_models.psf_model_parametric"]], "tf_semiparam_field (class in wf_psf.psf_models.psf_model_semiparametric)": [[20, "wf_psf.psf_models.psf_model_semiparametric.TF_SemiParam_field"]], "assign_s_mat() (wf_psf.psf_models.psf_model_semiparametric.tf_semiparam_field method)": [[20, "wf_psf.psf_models.psf_model_semiparametric.TF_SemiParam_field.assign_S_mat"]], "assign_coeff_matrix() (wf_psf.psf_models.psf_model_semiparametric.tf_semiparam_field method)": [[20, "wf_psf.psf_models.psf_model_semiparametric.TF_SemiParam_field.assign_coeff_matrix"]], "call() (wf_psf.psf_models.psf_model_semiparametric.tf_semiparam_field method)": [[20, "wf_psf.psf_models.psf_model_semiparametric.TF_SemiParam_field.call"]], "get_coeff_matrix() (wf_psf.psf_models.psf_model_semiparametric.tf_semiparam_field method)": [[20, "wf_psf.psf_models.psf_model_semiparametric.TF_SemiParam_field.get_coeff_matrix"]], "ids (wf_psf.psf_models.psf_model_semiparametric.tf_semiparam_field attribute)": [[20, "wf_psf.psf_models.psf_model_semiparametric.TF_SemiParam_field.ids"]], "predict_mono_psfs() (wf_psf.psf_models.psf_model_semiparametric.tf_semiparam_field method)": [[20, "wf_psf.psf_models.psf_model_semiparametric.TF_SemiParam_field.predict_mono_psfs"]], "predict_opd() (wf_psf.psf_models.psf_model_semiparametric.tf_semiparam_field method)": [[20, "wf_psf.psf_models.psf_model_semiparametric.TF_SemiParam_field.predict_opd"]], "project_dd_features() (wf_psf.psf_models.psf_model_semiparametric.tf_semiparam_field method)": [[20, "wf_psf.psf_models.psf_model_semiparametric.TF_SemiParam_field.project_DD_features"]], "set_nonzero_nonparam() (wf_psf.psf_models.psf_model_semiparametric.tf_semiparam_field method)": [[20, "wf_psf.psf_models.psf_model_semiparametric.TF_SemiParam_field.set_nonzero_nonparam"]], "set_output_q() (wf_psf.psf_models.psf_model_semiparametric.tf_semiparam_field method)": [[20, "wf_psf.psf_models.psf_model_semiparametric.TF_SemiParam_field.set_output_Q"]], "set_trainable_layers() (wf_psf.psf_models.psf_model_semiparametric.tf_semiparam_field method)": [[20, "wf_psf.psf_models.psf_model_semiparametric.TF_SemiParam_field.set_trainable_layers"]], "set_zero_nonparam() (wf_psf.psf_models.psf_model_semiparametric.tf_semiparam_field method)": [[20, "wf_psf.psf_models.psf_model_semiparametric.TF_SemiParam_field.set_zero_nonparam"]], "wf_psf.psf_models.psf_model_semiparametric": [[20, "module-wf_psf.psf_models.psf_model_semiparametric"]], "psfmodelerror": [[21, "wf_psf.psf_models.psf_models.PsfModelError"]], "get_psf_model() (in module wf_psf.psf_models.psf_models)": [[21, "wf_psf.psf_models.psf_models.get_psf_model"]], "register_psfclass() (in module wf_psf.psf_models.psf_models)": [[21, "wf_psf.psf_models.psf_models.register_psfclass"]], "set_psf_model() (in module wf_psf.psf_models.psf_models)": [[21, "wf_psf.psf_models.psf_models.set_psf_model"]], "simpsf() (in module wf_psf.psf_models.psf_models)": [[21, "wf_psf.psf_models.psf_models.simPSF"]], "tf_obscurations() (in module wf_psf.psf_models.psf_models)": [[21, "wf_psf.psf_models.psf_models.tf_obscurations"]], "tf_zernike_cube() (in module wf_psf.psf_models.psf_models)": [[21, "wf_psf.psf_models.psf_models.tf_zernike_cube"]], "wf_psf.psf_models.psf_models": [[21, "module-wf_psf.psf_models.psf_models"]], "old_tf_batch_poly_psf (class in wf_psf.psf_models.tf_layers)": [[22, "wf_psf.psf_models.tf_layers.OLD_TF_batch_poly_PSF"]], "tf_np_graph_opd (class in wf_psf.psf_models.tf_layers)": [[22, "wf_psf.psf_models.tf_layers.TF_NP_GRAPH_OPD"]], "tf_np_mccd_opd_v2 (class in wf_psf.psf_models.tf_layers)": [[22, "wf_psf.psf_models.tf_layers.TF_NP_MCCD_OPD_v2"]], "tf_np_poly_opd (class in wf_psf.psf_models.tf_layers)": [[22, "wf_psf.psf_models.tf_layers.TF_NP_poly_OPD"]], "tf_batch_mono_psf (class in wf_psf.psf_models.tf_layers)": [[22, "wf_psf.psf_models.tf_layers.TF_batch_mono_PSF"]], "tf_batch_poly_psf (class in wf_psf.psf_models.tf_layers)": [[22, "wf_psf.psf_models.tf_layers.TF_batch_poly_PSF"]], "tf_physical_layer (class in wf_psf.psf_models.tf_layers)": [[22, "wf_psf.psf_models.tf_layers.TF_physical_layer"]], "tf_poly_z_field (class in wf_psf.psf_models.tf_layers)": [[22, "wf_psf.psf_models.tf_layers.TF_poly_Z_field"]], "tf_zernike_opd (class in wf_psf.psf_models.tf_layers)": [[22, "wf_psf.psf_models.tf_layers.TF_zernike_OPD"]], "assign_s_mat() (wf_psf.psf_models.tf_layers.tf_np_poly_opd method)": [[22, "wf_psf.psf_models.tf_layers.TF_NP_poly_OPD.assign_S_mat"]], "assign_coeff_matrix() (wf_psf.psf_models.tf_layers.tf_poly_z_field method)": [[22, "wf_psf.psf_models.tf_layers.TF_poly_Z_field.assign_coeff_matrix"]], "calculate_mono_psf() (wf_psf.psf_models.tf_layers.old_tf_batch_poly_psf method)": [[22, "wf_psf.psf_models.tf_layers.OLD_TF_batch_poly_PSF.calculate_mono_PSF"]], "calculate_mono_psf() (wf_psf.psf_models.tf_layers.tf_batch_mono_psf method)": [[22, "wf_psf.psf_models.tf_layers.TF_batch_mono_PSF.calculate_mono_PSF"]], "calculate_mono_psf() (wf_psf.psf_models.tf_layers.tf_batch_poly_psf method)": [[22, "wf_psf.psf_models.tf_layers.TF_batch_poly_PSF.calculate_mono_PSF"]], "calculate_poly_psf() (wf_psf.psf_models.tf_layers.old_tf_batch_poly_psf method)": [[22, "wf_psf.psf_models.tf_layers.OLD_TF_batch_poly_PSF.calculate_poly_PSF"]], "calculate_poly_psf() (wf_psf.psf_models.tf_layers.tf_batch_poly_psf method)": [[22, "wf_psf.psf_models.tf_layers.TF_batch_poly_PSF.calculate_poly_PSF"]], "call() (wf_psf.psf_models.tf_layers.old_tf_batch_poly_psf method)": [[22, "wf_psf.psf_models.tf_layers.OLD_TF_batch_poly_PSF.call"]], "call() (wf_psf.psf_models.tf_layers.tf_np_graph_opd method)": [[22, "wf_psf.psf_models.tf_layers.TF_NP_GRAPH_OPD.call"]], "call() (wf_psf.psf_models.tf_layers.tf_np_mccd_opd_v2 method)": [[22, "wf_psf.psf_models.tf_layers.TF_NP_MCCD_OPD_v2.call"]], "call() (wf_psf.psf_models.tf_layers.tf_np_poly_opd method)": [[22, "wf_psf.psf_models.tf_layers.TF_NP_poly_OPD.call"]], "call() (wf_psf.psf_models.tf_layers.tf_batch_mono_psf method)": [[22, "wf_psf.psf_models.tf_layers.TF_batch_mono_PSF.call"]], "call() (wf_psf.psf_models.tf_layers.tf_batch_poly_psf method)": [[22, "wf_psf.psf_models.tf_layers.TF_batch_poly_PSF.call"]], "call() (wf_psf.psf_models.tf_layers.tf_physical_layer method)": [[22, "wf_psf.psf_models.tf_layers.TF_physical_layer.call"]], "call() (wf_psf.psf_models.tf_layers.tf_poly_z_field method)": [[22, "wf_psf.psf_models.tf_layers.TF_poly_Z_field.call"]], "call() (wf_psf.psf_models.tf_layers.tf_zernike_opd method)": [[22, "wf_psf.psf_models.tf_layers.TF_zernike_OPD.call"]], "get_coeff_matrix() (wf_psf.psf_models.tf_layers.tf_poly_z_field method)": [[22, "wf_psf.psf_models.tf_layers.TF_poly_Z_field.get_coeff_matrix"]], "get_poly_coefficients_shape() (wf_psf.psf_models.tf_layers.tf_poly_z_field method)": [[22, "wf_psf.psf_models.tf_layers.TF_poly_Z_field.get_poly_coefficients_shape"]], "init_coeff_matrix() (wf_psf.psf_models.tf_layers.tf_poly_z_field method)": [[22, "wf_psf.psf_models.tf_layers.TF_poly_Z_field.init_coeff_matrix"]], "init_mono_psf() (wf_psf.psf_models.tf_layers.tf_batch_mono_psf method)": [[22, "wf_psf.psf_models.tf_layers.TF_batch_mono_PSF.init_mono_PSF"]], "init_vars() (wf_psf.psf_models.tf_layers.tf_np_graph_opd method)": [[22, "wf_psf.psf_models.tf_layers.TF_NP_GRAPH_OPD.init_vars"]], "init_vars() (wf_psf.psf_models.tf_layers.tf_np_mccd_opd_v2 method)": [[22, "wf_psf.psf_models.tf_layers.TF_NP_MCCD_OPD_v2.init_vars"]], "init_vars() (wf_psf.psf_models.tf_layers.tf_np_poly_opd method)": [[22, "wf_psf.psf_models.tf_layers.TF_NP_poly_OPD.init_vars"]], "interpolate_all() (wf_psf.psf_models.tf_layers.tf_physical_layer method)": [[22, "wf_psf.psf_models.tf_layers.TF_physical_layer.interpolate_all"]], "interpolate_independent_zk() (wf_psf.psf_models.tf_layers.tf_physical_layer method)": [[22, "wf_psf.psf_models.tf_layers.TF_physical_layer.interpolate_independent_Zk"]], "interpolate_top_k() (wf_psf.psf_models.tf_layers.tf_physical_layer method)": [[22, "wf_psf.psf_models.tf_layers.TF_physical_layer.interpolate_top_K"]], "predict() (wf_psf.psf_models.tf_layers.tf_np_graph_opd method)": [[22, "wf_psf.psf_models.tf_layers.TF_NP_GRAPH_OPD.predict"]], "predict() (wf_psf.psf_models.tf_layers.tf_np_mccd_opd_v2 method)": [[22, "wf_psf.psf_models.tf_layers.TF_NP_MCCD_OPD_v2.predict"]], "set_alpha_identity() (wf_psf.psf_models.tf_layers.tf_np_graph_opd method)": [[22, "wf_psf.psf_models.tf_layers.TF_NP_GRAPH_OPD.set_alpha_identity"]], "set_alpha_identity() (wf_psf.psf_models.tf_layers.tf_np_mccd_opd_v2 method)": [[22, "wf_psf.psf_models.tf_layers.TF_NP_MCCD_OPD_v2.set_alpha_identity"]], "set_alpha_identity() (wf_psf.psf_models.tf_layers.tf_np_poly_opd method)": [[22, "wf_psf.psf_models.tf_layers.TF_NP_poly_OPD.set_alpha_identity"]], "set_alpha_zero() (wf_psf.psf_models.tf_layers.tf_np_graph_opd method)": [[22, "wf_psf.psf_models.tf_layers.TF_NP_GRAPH_OPD.set_alpha_zero"]], "set_alpha_zero() (wf_psf.psf_models.tf_layers.tf_np_mccd_opd_v2 method)": [[22, "wf_psf.psf_models.tf_layers.TF_NP_MCCD_OPD_v2.set_alpha_zero"]], "set_alpha_zero() (wf_psf.psf_models.tf_layers.tf_np_poly_opd method)": [[22, "wf_psf.psf_models.tf_layers.TF_NP_poly_OPD.set_alpha_zero"]], "set_lambda_phasen() (wf_psf.psf_models.tf_layers.tf_batch_mono_psf method)": [[22, "wf_psf.psf_models.tf_layers.TF_batch_mono_PSF.set_lambda_phaseN"]], "set_output_params() (wf_psf.psf_models.tf_layers.tf_batch_mono_psf method)": [[22, "wf_psf.psf_models.tf_layers.TF_batch_mono_PSF.set_output_params"]], "set_psf_batch() (wf_psf.psf_models.tf_layers.old_tf_batch_poly_psf method)": [[22, "wf_psf.psf_models.tf_layers.OLD_TF_batch_poly_PSF.set_psf_batch"]], "wf_psf.psf_models.tf_layers": [[22, "module-wf_psf.psf_models.tf_layers"]], "tf_zernike_mono_psf (class in wf_psf.psf_models.tf_modules)": [[23, "wf_psf.psf_models.tf_modules.TF_Zernike_mono_PSF"]], "tf_build_phase (class in wf_psf.psf_models.tf_modules)": [[23, "wf_psf.psf_models.tf_modules.TF_build_phase"]], "tf_fft_diffract (class in wf_psf.psf_models.tf_modules)": [[23, "wf_psf.psf_models.tf_modules.TF_fft_diffract"]], "tf_mono_psf (class in wf_psf.psf_models.tf_modules)": [[23, "wf_psf.psf_models.tf_modules.TF_mono_PSF"]], "tf_zernike_opd (class in wf_psf.psf_models.tf_modules)": [[23, "wf_psf.psf_models.tf_modules.TF_zernike_OPD"]], "apply_obscurations() (wf_psf.psf_models.tf_modules.tf_build_phase method)": [[23, "wf_psf.psf_models.tf_modules.TF_build_phase.apply_obscurations"]], "crop_img() (wf_psf.psf_models.tf_modules.tf_fft_diffract method)": [[23, "wf_psf.psf_models.tf_modules.TF_fft_diffract.crop_img"]], "normalize_psf() (wf_psf.psf_models.tf_modules.tf_fft_diffract method)": [[23, "wf_psf.psf_models.tf_modules.TF_fft_diffract.normalize_psf"]], "opd_to_phase() (wf_psf.psf_models.tf_modules.tf_build_phase method)": [[23, "wf_psf.psf_models.tf_modules.TF_build_phase.opd_to_phase"]], "tf_crop_img() (wf_psf.psf_models.tf_modules.tf_fft_diffract method)": [[23, "wf_psf.psf_models.tf_modules.TF_fft_diffract.tf_crop_img"]], "wf_psf.psf_models.tf_modules": [[23, "module-wf_psf.psf_models.tf_modules"]], "zero_padding_diffraction() (wf_psf.psf_models.tf_modules.tf_build_phase method)": [[23, "wf_psf.psf_models.tf_modules.TF_build_phase.zero_padding_diffraction"]], "tf_gt_physical_field (class in wf_psf.psf_models.tf_psf_field)": [[24, "wf_psf.psf_models.tf_psf_field.TF_GT_physical_field"]], "tf_psf_field_model (class in wf_psf.psf_models.tf_psf_field)": [[24, "wf_psf.psf_models.tf_psf_field.TF_PSF_field_model"]], "tf_semiparam_field (class in wf_psf.psf_models.tf_psf_field)": [[24, "wf_psf.psf_models.tf_psf_field.TF_SemiParam_field"]], "tf_physical_poly_field (class in wf_psf.psf_models.tf_psf_field)": [[24, "wf_psf.psf_models.tf_psf_field.TF_physical_poly_field"]], "assign_s_mat() (wf_psf.psf_models.tf_psf_field.tf_semiparam_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_SemiParam_field.assign_S_mat"]], "assign_coeff_matrix() (wf_psf.psf_models.tf_psf_field.tf_psf_field_model method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_PSF_field_model.assign_coeff_matrix"]], "assign_coeff_matrix() (wf_psf.psf_models.tf_psf_field.tf_semiparam_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_SemiParam_field.assign_coeff_matrix"]], "assign_coeff_matrix() (wf_psf.psf_models.tf_psf_field.tf_physical_poly_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_physical_poly_field.assign_coeff_matrix"]], "build_psf_model() (in module wf_psf.psf_models.tf_psf_field)": [[24, "wf_psf.psf_models.tf_psf_field.build_PSF_model"]], "call() (wf_psf.psf_models.tf_psf_field.tf_gt_physical_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_GT_physical_field.call"]], "call() (wf_psf.psf_models.tf_psf_field.tf_psf_field_model method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_PSF_field_model.call"]], "call() (wf_psf.psf_models.tf_psf_field.tf_semiparam_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_SemiParam_field.call"]], "call() (wf_psf.psf_models.tf_psf_field.tf_physical_poly_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_physical_poly_field.call"]], "compute_zernikes() (wf_psf.psf_models.tf_psf_field.tf_gt_physical_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_GT_physical_field.compute_zernikes"]], "compute_zernikes() (wf_psf.psf_models.tf_psf_field.tf_physical_poly_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_physical_poly_field.compute_zernikes"]], "get_coeff_matrix() (wf_psf.psf_models.tf_psf_field.tf_psf_field_model method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_PSF_field_model.get_coeff_matrix"]], "get_coeff_matrix() (wf_psf.psf_models.tf_psf_field.tf_semiparam_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_SemiParam_field.get_coeff_matrix"]], "get_coeff_matrix() (wf_psf.psf_models.tf_psf_field.tf_physical_poly_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_physical_poly_field.get_coeff_matrix"]], "predict_mono_psfs() (wf_psf.psf_models.tf_psf_field.tf_gt_physical_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_GT_physical_field.predict_mono_psfs"]], "predict_mono_psfs() (wf_psf.psf_models.tf_psf_field.tf_psf_field_model method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_PSF_field_model.predict_mono_psfs"]], "predict_mono_psfs() (wf_psf.psf_models.tf_psf_field.tf_semiparam_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_SemiParam_field.predict_mono_psfs"]], "predict_mono_psfs() (wf_psf.psf_models.tf_psf_field.tf_physical_poly_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_physical_poly_field.predict_mono_psfs"]], "predict_opd() (wf_psf.psf_models.tf_psf_field.tf_gt_physical_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_GT_physical_field.predict_opd"]], "predict_opd() (wf_psf.psf_models.tf_psf_field.tf_psf_field_model method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_PSF_field_model.predict_opd"]], "predict_opd() (wf_psf.psf_models.tf_psf_field.tf_semiparam_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_SemiParam_field.predict_opd"]], "predict_opd() (wf_psf.psf_models.tf_psf_field.tf_physical_poly_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_physical_poly_field.predict_opd"]], "predict_step() (wf_psf.psf_models.tf_psf_field.tf_gt_physical_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_GT_physical_field.predict_step"]], "predict_step() (wf_psf.psf_models.tf_psf_field.tf_physical_poly_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_physical_poly_field.predict_step"]], "predict_zernikes() (wf_psf.psf_models.tf_psf_field.tf_gt_physical_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_GT_physical_field.predict_zernikes"]], "predict_zernikes() (wf_psf.psf_models.tf_psf_field.tf_physical_poly_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_physical_poly_field.predict_zernikes"]], "project_dd_features() (wf_psf.psf_models.tf_psf_field.tf_semiparam_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_SemiParam_field.project_DD_features"]], "set_nonzero_nonparam() (wf_psf.psf_models.tf_psf_field.tf_semiparam_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_SemiParam_field.set_nonzero_nonparam"]], "set_nonzero_nonparam() (wf_psf.psf_models.tf_psf_field.tf_physical_poly_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_physical_poly_field.set_nonzero_nonparam"]], "set_output_q() (wf_psf.psf_models.tf_psf_field.tf_gt_physical_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_GT_physical_field.set_output_Q"]], "set_output_q() (wf_psf.psf_models.tf_psf_field.tf_psf_field_model method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_PSF_field_model.set_output_Q"]], "set_output_q() (wf_psf.psf_models.tf_psf_field.tf_semiparam_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_SemiParam_field.set_output_Q"]], "set_output_q() (wf_psf.psf_models.tf_psf_field.tf_physical_poly_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_physical_poly_field.set_output_Q"]], "set_trainable_layers() (wf_psf.psf_models.tf_psf_field.tf_semiparam_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_SemiParam_field.set_trainable_layers"]], "set_trainable_layers() (wf_psf.psf_models.tf_psf_field.tf_physical_poly_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_physical_poly_field.set_trainable_layers"]], "set_zero_nonparam() (wf_psf.psf_models.tf_psf_field.tf_semiparam_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_SemiParam_field.set_zero_nonparam"]], "set_zero_nonparam() (wf_psf.psf_models.tf_psf_field.tf_physical_poly_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_physical_poly_field.set_zero_nonparam"]], "wf_psf.psf_models.tf_psf_field": [[24, "module-wf_psf.psf_models.tf_psf_field"]], "zks_pad() (wf_psf.psf_models.tf_psf_field.tf_physical_poly_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_physical_poly_field.zks_pad"]], "wf_psf.psf_models.zernikes": [[25, "module-wf_psf.psf_models.zernikes"]], "zernike_generator() (in module wf_psf.psf_models.zernikes)": [[25, "wf_psf.psf_models.zernikes.zernike_generator"]], "mainmethod() (in module wf_psf.run)": [[26, "wf_psf.run.mainMethod"]], "setprogramoptions() (in module wf_psf.run)": [[26, "wf_psf.run.setProgramOptions"]], "wf_psf.run": [[26, "module-wf_psf.run"]], "wf_psf.sims": [[27, "module-wf_psf.sims"]], "sed_gen_noise() (wf_psf.sims.simpsftoolkit.simpsftoolkit static method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.SED_gen_noise"]], "simpsftoolkit (class in wf_psf.sims.simpsftoolkit)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit"]], "calc_sed_wave_values() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.calc_SED_wave_values"]], "calculate_opd() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.calculate_opd"]], "calculate_wfe_rms() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.calculate_wfe_rms"]], "check_wfe_rms() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.check_wfe_rms"]], "crop_img() (wf_psf.sims.simpsftoolkit.simpsftoolkit static method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.crop_img"]], "decimate_im() (wf_psf.sims.simpsftoolkit.simpsftoolkit static method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.decimate_im"]], "diffract_phase() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.diffract_phase"]], "feasible_n() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.feasible_N"]], "feasible_wavelength() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.feasible_wavelength"]], "fft_diffract() (wf_psf.sims.simpsftoolkit.simpsftoolkit static method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.fft_diffract"]], "filter_sed() (wf_psf.sims.simpsftoolkit.simpsftoolkit static method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.filter_SED"]], "gen_sed_interp() (wf_psf.sims.simpsftoolkit.simpsftoolkit static method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.gen_SED_interp"]], "gen_sed_sampler() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.gen_SED_sampler"]], "gen_random_z_coeffs() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.gen_random_Z_coeffs"]], "generate_mono_psf() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.generate_mono_PSF"]], "generate_poly_psf() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.generate_poly_PSF"]], "generate_pupil_obscurations() (wf_psf.sims.simpsftoolkit.simpsftoolkit static method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.generate_pupil_obscurations"]], "get_psf() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.get_psf"]], "get_radial_idx() (wf_psf.sims.simpsftoolkit.simpsftoolkit static method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.get_radial_idx"]], "get_z_coeffs() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.get_z_coeffs"]], "interp_sed() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.interp_SED"]], "normalize_zernikes() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.normalize_zernikes"]], "opd_phase_plotter() (wf_psf.sims.simpsftoolkit.simpsftoolkit static method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.opd_phase_plotter"]], "plot_opd_phase() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.plot_opd_phase"]], "plot_psf() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.plot_psf"]], "plot_z_coeffs() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.plot_z_coeffs"]], "psf_plotter() (wf_psf.sims.simpsftoolkit.simpsftoolkit static method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.psf_plotter"]], "resize() (in module wf_psf.sims.simpsftoolkit)": [[28, "wf_psf.sims.SimPSFToolkit.resize"]], "set_z_coeffs() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.set_z_coeffs"]], "wf_psf.sims.simpsftoolkit": [[28, "module-wf_psf.sims.SimPSFToolkit"]], "wf_psf.training": [[29, "module-wf_psf.training"]], "trainingparamshandler (class in wf_psf.training.train)": [[30, "wf_psf.training.train.TrainingParamsHandler"]], "filepath_chkp_callback() (in module wf_psf.training.train)": [[30, "wf_psf.training.train.filepath_chkp_callback"]], "get_gpu_info() (in module wf_psf.training.train)": [[30, "wf_psf.training.train.get_gpu_info"]], "id_name (wf_psf.training.train.trainingparamshandler property)": [[30, "wf_psf.training.train.TrainingParamsHandler.id_name"]], "learning_rate_non_params (wf_psf.training.train.trainingparamshandler property)": [[30, "wf_psf.training.train.TrainingParamsHandler.learning_rate_non_params"]], "learning_rate_params (wf_psf.training.train.trainingparamshandler property)": [[30, "wf_psf.training.train.TrainingParamsHandler.learning_rate_params"]], "model_name (wf_psf.training.train.trainingparamshandler property)": [[30, "wf_psf.training.train.TrainingParamsHandler.model_name"]], "model_params (wf_psf.training.train.trainingparamshandler property)": [[30, "wf_psf.training.train.TrainingParamsHandler.model_params"]], "multi_cycle_params (wf_psf.training.train.trainingparamshandler property)": [[30, "wf_psf.training.train.TrainingParamsHandler.multi_cycle_params"]], "n_epochs_non_params (wf_psf.training.train.trainingparamshandler property)": [[30, "wf_psf.training.train.TrainingParamsHandler.n_epochs_non_params"]], "n_epochs_params (wf_psf.training.train.trainingparamshandler property)": [[30, "wf_psf.training.train.TrainingParamsHandler.n_epochs_params"]], "setup_training() (in module wf_psf.training.train)": [[30, "wf_psf.training.train.setup_training"]], "total_cycles (wf_psf.training.train.trainingparamshandler property)": [[30, "wf_psf.training.train.TrainingParamsHandler.total_cycles"]], "train() (in module wf_psf.training.train)": [[30, "wf_psf.training.train.train"]], "training_hparams (wf_psf.training.train.trainingparamshandler property)": [[30, "wf_psf.training.train.TrainingParamsHandler.training_hparams"]], "wf_psf.training.train": [[30, "module-wf_psf.training.train"]], "l1paramscheduler (class in wf_psf.training.train_utils)": [[31, "wf_psf.training.train_utils.L1ParamScheduler"]], "general_train_cycle() (in module wf_psf.training.train_utils)": [[31, "wf_psf.training.train_utils.general_train_cycle"]], "l1_schedule_rule() (in module wf_psf.training.train_utils)": [[31, "wf_psf.training.train_utils.l1_schedule_rule"]], "on_epoch_begin() (wf_psf.training.train_utils.l1paramscheduler method)": [[31, "wf_psf.training.train_utils.L1ParamScheduler.on_epoch_begin"]], "param_train_cycle() (in module wf_psf.training.train_utils)": [[31, "wf_psf.training.train_utils.param_train_cycle"]], "wf_psf.training.train_utils": [[31, "module-wf_psf.training.train_utils"]], "wf_psf.utils": [[32, "module-wf_psf.utils"]], "dataconfighandler (class in wf_psf.utils.configs_handler)": [[33, "wf_psf.utils.configs_handler.DataConfigHandler"]], "metricsconfighandler (class in wf_psf.utils.configs_handler)": [[33, "wf_psf.utils.configs_handler.MetricsConfigHandler"]], "plottingconfighandler (class in wf_psf.utils.configs_handler)": [[33, "wf_psf.utils.configs_handler.PlottingConfigHandler"]], "trainingconfighandler (class in wf_psf.utils.configs_handler)": [[33, "wf_psf.utils.configs_handler.TrainingConfigHandler"]], "call_plot_config_handler_run() (wf_psf.utils.configs_handler.metricsconfighandler method)": [[33, "wf_psf.utils.configs_handler.MetricsConfigHandler.call_plot_config_handler_run"]], "check_and_update_metrics_confs() (wf_psf.utils.configs_handler.plottingconfighandler method)": [[33, "wf_psf.utils.configs_handler.PlottingConfigHandler.check_and_update_metrics_confs"]], "get_psf_model_weights_filepath() (wf_psf.utils.configs_handler.metricsconfighandler method)": [[33, "wf_psf.utils.configs_handler.MetricsConfigHandler.get_psf_model_weights_filepath"]], "get_run_config() (in module wf_psf.utils.configs_handler)": [[33, "wf_psf.utils.configs_handler.get_run_config"]], "ids (wf_psf.utils.configs_handler.metricsconfighandler attribute)": [[33, "wf_psf.utils.configs_handler.MetricsConfigHandler.ids"]], "ids (wf_psf.utils.configs_handler.plottingconfighandler attribute)": [[33, "wf_psf.utils.configs_handler.PlottingConfigHandler.ids"]], "ids (wf_psf.utils.configs_handler.trainingconfighandler attribute)": [[33, "wf_psf.utils.configs_handler.TrainingConfigHandler.ids"]], "load_metrics_into_dict() (wf_psf.utils.configs_handler.plottingconfighandler method)": [[33, "wf_psf.utils.configs_handler.PlottingConfigHandler.load_metrics_into_dict"]], "make_dict_of_metrics() (wf_psf.utils.configs_handler.plottingconfighandler method)": [[33, "wf_psf.utils.configs_handler.PlottingConfigHandler.make_dict_of_metrics"]], "register_configclass() (in module wf_psf.utils.configs_handler)": [[33, "wf_psf.utils.configs_handler.register_configclass"]], "run() (wf_psf.utils.configs_handler.metricsconfighandler method)": [[33, "wf_psf.utils.configs_handler.MetricsConfigHandler.run"]], "run() (wf_psf.utils.configs_handler.plottingconfighandler method)": [[33, "wf_psf.utils.configs_handler.PlottingConfigHandler.run"]], "run() (wf_psf.utils.configs_handler.trainingconfighandler method)": [[33, "wf_psf.utils.configs_handler.TrainingConfigHandler.run"]], "set_run_config() (in module wf_psf.utils.configs_handler)": [[33, "wf_psf.utils.configs_handler.set_run_config"]], "wf_psf.utils.configs_handler": [[33, "module-wf_psf.utils.configs_handler"]], "graphbuilder (class in wf_psf.utils.graph_utils)": [[34, "wf_psf.utils.graph_utils.GraphBuilder"]], "gen_pea() (in module wf_psf.utils.graph_utils)": [[34, "wf_psf.utils.graph_utils.gen_Pea"]], "gen_eigenvects() (wf_psf.utils.graph_utils.graphbuilder method)": [[34, "wf_psf.utils.graph_utils.GraphBuilder.gen_eigenvects"]], "pairwise_distances() (in module wf_psf.utils.graph_utils)": [[34, "wf_psf.utils.graph_utils.pairwise_distances"]], "pick_emax() (wf_psf.utils.graph_utils.graphbuilder method)": [[34, "wf_psf.utils.graph_utils.GraphBuilder.pick_emax"]], "select_params() (wf_psf.utils.graph_utils.graphbuilder method)": [[34, "wf_psf.utils.graph_utils.GraphBuilder.select_params"]], "select_vstar() (in module wf_psf.utils.graph_utils)": [[34, "wf_psf.utils.graph_utils.select_vstar"]], "wf_psf.utils.graph_utils": [[34, "module-wf_psf.utils.graph_utils"]], "fileiohandler (class in wf_psf.utils.io)": [[35, "wf_psf.utils.io.FileIOHandler"]], "copy_conffile_to_output_dir() (wf_psf.utils.io.fileiohandler method)": [[35, "wf_psf.utils.io.FileIOHandler.copy_conffile_to_output_dir"]], "get_checkpoint_dir() (wf_psf.utils.io.fileiohandler method)": [[35, "wf_psf.utils.io.FileIOHandler.get_checkpoint_dir"]], "get_config_dir() (wf_psf.utils.io.fileiohandler method)": [[35, "wf_psf.utils.io.FileIOHandler.get_config_dir"]], "get_metrics_dir() (wf_psf.utils.io.fileiohandler method)": [[35, "wf_psf.utils.io.FileIOHandler.get_metrics_dir"]], "get_optimizer_dir() (wf_psf.utils.io.fileiohandler method)": [[35, "wf_psf.utils.io.FileIOHandler.get_optimizer_dir"]], "get_plots_dir() (wf_psf.utils.io.fileiohandler method)": [[35, "wf_psf.utils.io.FileIOHandler.get_plots_dir"]], "get_psf_model_dir() (wf_psf.utils.io.fileiohandler method)": [[35, "wf_psf.utils.io.FileIOHandler.get_psf_model_dir"]], "get_timestamp() (wf_psf.utils.io.fileiohandler method)": [[35, "wf_psf.utils.io.FileIOHandler.get_timestamp"]], "setup_outputs() (wf_psf.utils.io.fileiohandler method)": [[35, "wf_psf.utils.io.FileIOHandler.setup_outputs"]], "wf_psf.utils.io": [[35, "module-wf_psf.utils.io"]], "recursivenamespace (class in wf_psf.utils.read_config)": [[36, "wf_psf.utils.read_config.RecursiveNamespace"]], "map_entry() (wf_psf.utils.read_config.recursivenamespace static method)": [[36, "wf_psf.utils.read_config.RecursiveNamespace.map_entry"]], "read_conf() (in module wf_psf.utils.read_config)": [[36, "wf_psf.utils.read_config.read_conf"]], "read_stream() (in module wf_psf.utils.read_config)": [[36, "wf_psf.utils.read_config.read_stream"]], "read_yaml() (in module wf_psf.utils.read_config)": [[36, "wf_psf.utils.read_config.read_yaml"]], "wf_psf.utils.read_config": [[36, "module-wf_psf.utils.read_config"]], "independentzernikeinterpolation (class in wf_psf.utils.utils)": [[37, "wf_psf.utils.utils.IndependentZernikeInterpolation"]], "noiseestimator (class in wf_psf.utils.utils)": [[37, "wf_psf.utils.utils.NoiseEstimator"]], "pi_zernikes() (in module wf_psf.utils.utils)": [[37, "wf_psf.utils.utils.PI_zernikes"]], "zernikeinterpolation (class in wf_psf.utils.utils)": [[37, "wf_psf.utils.utils.ZernikeInterpolation"]], "add_noise() (in module wf_psf.utils.utils)": [[37, "wf_psf.utils.utils.add_noise"]], "calc_poly_position_mat() (in module wf_psf.utils.utils)": [[37, "wf_psf.utils.utils.calc_poly_position_mat"]], "calc_wfe() (in module wf_psf.utils.utils)": [[37, "wf_psf.utils.utils.calc_wfe"]], "calc_wfe_rms() (in module wf_psf.utils.utils)": [[37, "wf_psf.utils.utils.calc_wfe_rms"]], "convert_to_tf() (in module wf_psf.utils.utils)": [[37, "wf_psf.utils.utils.convert_to_tf"]], "decimate_im() (in module wf_psf.utils.utils)": [[37, "wf_psf.utils.utils.decimate_im"]], "downsample_im() (in module wf_psf.utils.utils)": [[37, "wf_psf.utils.utils.downsample_im"]], "estimate_noise() (wf_psf.utils.utils.noiseestimator method)": [[37, "wf_psf.utils.utils.NoiseEstimator.estimate_noise"]], "generate_sed_elems() (in module wf_psf.utils.utils)": [[37, "wf_psf.utils.utils.generate_SED_elems"]], "generate_sed_elems_in_tensorflow() (in module wf_psf.utils.utils)": [[37, "wf_psf.utils.utils.generate_SED_elems_in_tensorflow"]], "generate_packed_elems() (in module wf_psf.utils.utils)": [[37, "wf_psf.utils.utils.generate_packed_elems"]], "interp_one_zk() (wf_psf.utils.utils.independentzernikeinterpolation method)": [[37, "wf_psf.utils.utils.IndependentZernikeInterpolation.interp_one_zk"]], "interpolate_zk() (wf_psf.utils.utils.zernikeinterpolation method)": [[37, "wf_psf.utils.utils.ZernikeInterpolation.interpolate_zk"]], "interpolate_zks() (wf_psf.utils.utils.independentzernikeinterpolation method)": [[37, "wf_psf.utils.utils.IndependentZernikeInterpolation.interpolate_zks"]], "interpolate_zks() (wf_psf.utils.utils.zernikeinterpolation method)": [[37, "wf_psf.utils.utils.ZernikeInterpolation.interpolate_zks"]], "load_multi_cycle_params_click() (in module wf_psf.utils.utils)": [[37, "wf_psf.utils.utils.load_multi_cycle_params_click"]], "resize() (in module wf_psf.utils.utils)": [[37, "wf_psf.utils.utils.resize"]], "scale_to_range() (in module wf_psf.utils.utils)": [[37, "wf_psf.utils.utils.scale_to_range"]], "sigma_mad() (wf_psf.utils.utils.noiseestimator static method)": [[37, "wf_psf.utils.utils.NoiseEstimator.sigma_mad"]], "wf_psf.utils.utils": [[37, "module-wf_psf.utils.utils"]], "zernike_generator() (in module wf_psf.utils.utils)": [[37, "wf_psf.utils.utils.zernike_generator"]]}})
\ No newline at end of file
+Search.setIndex({"docnames": ["about", "basic_execution", "configuration", "dependencies", "index", "installation", "modules", "toc", "wf_psf", "wf_psf.data", "wf_psf.data.training_preprocessing", "wf_psf.info", "wf_psf.metrics", "wf_psf.metrics.metrics", "wf_psf.metrics.metrics_interface", "wf_psf.plotting", "wf_psf.plotting.plot_optimisation_metrics", "wf_psf.plotting.plots_interface", "wf_psf.psf_models", "wf_psf.psf_models.psf_model_parametric", "wf_psf.psf_models.psf_model_semiparametric", "wf_psf.psf_models.psf_models", "wf_psf.psf_models.tf_layers", "wf_psf.psf_models.tf_modules", "wf_psf.psf_models.tf_psf_field", "wf_psf.psf_models.zernikes", "wf_psf.run", "wf_psf.sims", "wf_psf.sims.SimPSFToolkit", "wf_psf.training", "wf_psf.training.train", "wf_psf.training.train_utils", "wf_psf.utils", "wf_psf.utils.configs_handler", "wf_psf.utils.graph_utils", "wf_psf.utils.io", "wf_psf.utils.read_config", "wf_psf.utils.utils", "z_ref"], "filenames": ["about.md", "basic_execution.md", "configuration.md", "dependencies.md", "index.rst", "installation.md", "modules.rst", "toc.rst", "wf_psf.rst", "wf_psf.data.rst", "wf_psf.data.training_preprocessing.rst", "wf_psf.info.rst", "wf_psf.metrics.rst", "wf_psf.metrics.metrics.rst", "wf_psf.metrics.metrics_interface.rst", "wf_psf.plotting.rst", "wf_psf.plotting.plot_optimisation_metrics.rst", "wf_psf.plotting.plots_interface.rst", "wf_psf.psf_models.rst", "wf_psf.psf_models.psf_model_parametric.rst", "wf_psf.psf_models.psf_model_semiparametric.rst", "wf_psf.psf_models.psf_models.rst", "wf_psf.psf_models.tf_layers.rst", "wf_psf.psf_models.tf_modules.rst", "wf_psf.psf_models.tf_psf_field.rst", "wf_psf.psf_models.zernikes.rst", "wf_psf.run.rst", "wf_psf.sims.rst", "wf_psf.sims.SimPSFToolkit.rst", "wf_psf.training.rst", "wf_psf.training.train.rst", "wf_psf.training.train_utils.rst", "wf_psf.utils.rst", "wf_psf.utils.configs_handler.rst", "wf_psf.utils.graph_utils.rst", "wf_psf.utils.io.rst", "wf_psf.utils.read_config.rst", "wf_psf.utils.utils.rst", "z_ref.rst"], "titles": ["About", "Basic Execution", "Configuration", "Dependencies", "WaveDiff", "Installation", "wf_psf", "<no title>", "wf_psf package", "wf_psf.data package", "wf_psf.data.training_preprocessing module", "wf_psf.info module", "wf_psf.metrics package", "wf_psf.metrics.metrics module", "wf_psf.metrics.metrics_interface module", "wf_psf.plotting package", "wf_psf.plotting.plot_optimisation_metrics module", "wf_psf.plotting.plots_interface module", "wf_psf.psf_models package", "wf_psf.psf_models.psf_model_parametric module", "wf_psf.psf_models.psf_model_semiparametric module", "wf_psf.psf_models.psf_models module", "wf_psf.psf_models.tf_layers module", "wf_psf.psf_models.tf_modules module", "wf_psf.psf_models.tf_psf_field module", "wf_psf.psf_models.zernikes module", "wf_psf.run module", "wf_psf.sims package", "wf_psf.sims.SimPSFToolkit module", "wf_psf.training package", "wf_psf.training.train module", "wf_psf.training.train_utils module", "wf_psf.utils package", "wf_psf.utils.configs_handler module", "wf_psf.utils.graph_utils module", "wf_psf.utils.io module", "wf_psf.utils.read_config module", "wf_psf.utils.utils module", "References"], "terms": {"wavediff": [0, 1, 2, 3, 5, 24, 26], "liaudat": [0, 2, 4, 10, 19, 20, 21, 25, 38], "et": [0, 2, 3, 4, 34], "al": [0, 2, 3, 4, 34], "2023": [0, 2, 4, 38], "i": [0, 1, 2, 4, 5, 13, 17, 19, 20, 22, 23, 24, 28, 31, 34, 36, 37, 38], "differenti": [0, 4, 38], "data": [0, 4, 6, 8, 22, 24, 30, 31, 33, 34, 37, 38], "driven": [0, 4, 38], "wavefront": [0, 2, 4, 19, 20, 22, 23, 24, 28], "base": [0, 2, 4, 10, 14, 17, 19, 20, 21, 22, 23, 24, 25, 28, 30, 31, 33, 34, 35, 36, 37, 38], "psf": [0, 1, 2, 4, 5, 13, 14, 16, 19, 20, 21, 22, 23, 24, 28, 30, 33, 35], "model": [0, 1, 2, 4, 5, 10, 13, 14, 17, 19, 20, 21, 22, 23, 24, 30, 31, 33, 35, 38], "framework": [0, 4, 5], "tensorflow": [0, 2, 3, 5, 21, 31, 37, 38], "It": [0, 2, 13, 19, 22, 23, 24, 28, 31], "": [0, 2, 13, 19, 20, 22, 24, 28, 31, 34, 37, 38], "hybrid": [0, 22], "methodologi": 0, "construct": [0, 2], "across": [0, 2], "telescop": [0, 13, 28], "field": [0, 2, 13, 19, 20, 21, 24], "view": 0, "combin": [0, 2], "forward": [0, 19, 20, 24], "parametr": [0, 19, 20, 21, 22, 24, 30, 31], "non": [0, 13, 19, 20, 22, 23, 24, 28, 30, 31, 37], "techniqu": 0, "us": [0, 1, 2, 4, 5, 13, 17, 19, 20, 22, 23, 24, 28, 31, 36, 37], "correct": [0, 37], "error": [0, 2, 13, 17, 22, 24, 28], "space": [0, 2, 28], "ha": [0, 2, 22, 28, 37], "been": 0, "especi": [0, 34], "design": 0, "european": 0, "agenc": 0, "euclid": [0, 2, 13, 28], "mission": 0, "ensur": 0, "can": [0, 1, 2, 5, 22, 28, 31, 34, 37], "achiev": 0, "exce": 0, "its": [0, 1, 5, 19, 20, 22, 23, 24, 37], "core": [0, 38], "scienc": [0, 38], "perform": [0, 2, 22], "requir": [0, 2, 3, 13, 19, 20, 22, 23, 24, 28], "weak": [0, 2], "gravit": 0, "lens": [0, 2], "A": [0, 1, 2, 10, 14, 16, 17, 19, 20, 21, 25, 30, 33, 35, 36, 37, 38], "diagram": 0, "present": [0, 2, 13], "below": [0, 1, 2, 5], "The": [0, 1, 2, 13, 19, 20, 22, 24, 25, 26, 28, 31, 33, 37, 38], "instrument": [0, 19, 24, 28], "estim": [0, 3, 13, 31, 37], "train": [0, 1, 5, 6, 8, 10, 13, 14, 17, 19, 20, 24, 33, 37], "paramet": [0, 1, 2, 5, 10, 13, 14, 17, 19, 20, 21, 22, 23, 24, 25, 28, 30, 31, 33, 34, 35, 36, 37], "star": [0, 2, 13, 17, 22, 24, 28], "observ": [0, 2, 13, 19, 20, 22, 24, 34], "pipelin": [1, 2, 26], "launch": [1, 2], "python": [1, 5, 28, 37, 38], "script": [1, 14], "src": [1, 28, 37], "wf_psf": 1, "run": [1, 2, 4, 5, 6, 8, 17, 19, 20, 24, 31, 32, 33, 35], "py": 1, "which": [1, 2, 5, 14, 19, 20, 21, 24, 30, 31, 33, 34, 35, 36], "referenc": [1, 2], "command": [1, 2, 5, 26, 33], "list": [1, 2, 13, 17, 19, 20, 22, 24, 25, 28, 30, 31, 34, 37], "line": [1, 2, 26, 37], "argument": [1, 24, 26, 31, 36, 37], "displai": [1, 2, 17, 19, 20, 24], "help": [1, 14, 37], "option": [1, 2, 19, 20, 21, 22, 24, 26, 28, 31], "usag": 1, "h": [1, 38], "conffil": 1, "repodir": 1, "outputdir": 1, "show": [1, 2, 5], "thi": [1, 2, 4, 11, 13, 19, 20, 22, 23, 24, 26, 28, 31, 34, 37], "messag": 1, "exit": 1, "c": [1, 38], "configur": [1, 17, 33, 36], "file": [1, 2, 17, 33, 35, 36], "contain": [1, 2, 10, 13, 14, 17, 20, 22, 25, 28, 30, 33, 36, 37], "program": [1, 2, 26, 38], "set": [1, 2, 5, 17, 19, 20, 21, 22, 24, 26, 28, 30, 31, 33, 34, 35], "r": [1, 28, 34, 37, 38], "path": [1, 2, 14, 17, 19, 20, 24, 28, 30, 33, 35], "code": [1, 2, 28, 35, 37], "repositori": [1, 4, 5, 25, 35, 37], "directori": [1, 2, 5, 17, 30, 35], "o": [1, 38], "output": [1, 2, 13, 17, 19, 20, 22, 23, 24, 28, 31, 33, 35, 37], "There": 1, "ar": [1, 2, 3, 4, 13, 22, 25, 28, 31, 34, 37], "three": [1, 2, 21, 22], "user": [1, 2, 33], "should": [1, 2, 13, 19, 20, 22, 24, 28, 31, 34, 37], "specifi": [1, 2, 13, 19, 20, 24, 28, 33, 37], "when": [1, 2, 28, 34, 37], "first": [1, 2, 20, 22, 24, 28, 31, 37], "confil": 1, "master": 1, "store": [1, 2, 19, 20, 22, 30, 33, 37], "task": [1, 2], "runtim": [1, 2], "second": [1, 2, 22, 28], "wf": [1, 2, 5, 17, 19, 20, 22, 24, 28, 33, 35], "third": [1, 3], "main": [1, 2, 26, 28], "result": [1, 2, 13, 16, 17], "To": [1, 2, 23, 28, 37], "follow": [1, 2, 23, 28, 37], "config": [1, 2, 33, 35, 36], "dir": [1, 33], "begin": 1, "input": [1, 2, 14, 17, 19, 20, 22, 24, 28, 30, 31, 33, 34, 35, 37], "e": [1, 2, 5, 17, 34, 38], "retriev": [1, 2, 19, 20, 22, 24, 38], "pars": [1, 2], "creat": [1, 2, 19, 20, 24, 28, 33, 36, 37], "subdirectori": [1, 2], "name": [1, 2, 3, 17, 19, 20, 21, 22, 23, 24, 30, 33, 35, 36, 37], "compos": [1, 2], "timestamp": [1, 2, 35], "202310221632": 1, "each": [1, 2, 13, 17, 22, 28, 33, 37], "produc": [1, 2, 13, 16], "own": [1, 2, 19, 20, 22, 23, 24], "uniqu": [1, 2, 30], "Then": 1, "within": [1, 2, 4, 28], "further": 1, "gener": [1, 2, 13, 17, 19, 20, 21, 22, 24, 25, 28, 33, 36, 37], "correspond": [1, 2, 13, 22, 23, 28, 34, 37], "an": [1, 2, 4, 17, 22, 23, 28, 31, 33, 37, 38], "exampl": [1, 2], "all": [1, 2, 4, 13, 17, 19, 20, 21, 22, 23, 24, 33, 34, 36, 37], "dure": [1, 2, 19, 20, 24, 31, 33], "202310211641": 1, "checkpoint": [1, 2, 30, 35], "log": [1, 2, 31, 35, 37], "metric": [1, 6, 8, 16, 17, 19, 20, 22, 24, 31, 33, 35], "optim": [1, 2, 16, 24, 30, 31, 34, 35], "hist": [1, 2], "plot": [1, 6, 8, 13, 28, 33, 35], "psf_model": [1, 2, 6, 8, 14], "descript": [1, 2], "provid": [1, 2, 4, 11, 13, 21, 22, 23, 33, 34], "tabl": [1, 2], "sub": [1, 2, 19, 20, 22, 23, 24], "purpos": [1, 24], "weight": [1, 2, 19, 20, 22, 24, 31, 33, 34, 37], "see": [1, 2, 3, 28, 34, 37], "histori": [1, 30, 31], "final": [1, 2, 13, 19, 24, 28], "cycl": [1, 2, 30, 31, 37], "next": [1, 2, 5, 37], "we": [1, 2, 4, 5, 19, 23, 24, 31, 34], "describ": [1, 2, 19, 20, 22, 24], "some": [1, 2, 11, 19, 20, 24, 28], "detail": 1, "structur": [1, 2, 35], "content": [1, 2], "featur": [2, 20, 22, 24], "four": 2, "packag": [2, 3, 5, 6, 11, 37, 38], "evalu": [2, 5, 13, 14, 24, 33], "util": [2, 6, 8, 21, 22], "variou": [2, 16, 17], "simpsf": [2, 8, 10, 14, 18, 21], "simul": [2, 13, 21, 28, 38], "stellar": 2, "test": [2, 10, 13, 17, 30, 31, 34], "procedur": [2, 28, 31, 34], "current": [2, 31, 34], "separ": [2, 37], "trigger": 2, "execut": 2, "one": [2, 13, 22, 28, 37], "more": [2, 28], "g": [2, 5, 17, 38], "done": [2, 13, 22, 24, 28, 37], "specif": [2, 13, 28, 35], "configuraton": [2, 33], "tree": 2, "yaml": [2, 36], "data_config": 2, "conf": [2, 33, 36], "metrics_config": 2, "plotting_config": 2, "training_config": 2, "most": 2, "end": 2, "yet": 2, "anoth": 2, "markup": 2, "languag": 2, "read": [2, 36], "nest": [2, 36], "dictionari": [2, 13, 17, 21, 22, 33, 36, 37], "kei": [2, 13], "valu": [2, 13, 17, 19, 20, 22, 24, 25, 28, 34, 37], "pair": 2, "case": [2, 19, 24], "ini": 2, "syntax": 2, "section": [2, 5], "call": [2, 18, 19, 20, 22, 24, 28, 31, 33, 35, 37], "properti": [2, 30], "As": 2, "you": [2, 4, 5, 28, 37], "modifi": 2, "entri": [2, 26, 34, 36], "shall": 2, "metadata": 2, "exist": 2, "ones": 2, "coherent_euclid_dataset": 2, "new": [2, 31], "although": [2, 19, 24], "implement": [2, 22], "upgrad": 2, "pend": 2, "default": [2, 13, 19, 22, 24, 28, 31, 34, 37], "repo": 2, "data_dir": 2, "train_euclid_res_200_trainstars_id_001": 2, "npy": 2, "doe": 2, "param": [2, 28, 30, 37], "test_euclid_res_id_001": 2, "If": [2, 4, 13, 19, 24, 28, 31, 37], "parent": 2, "child": [2, 36], "treat": 2, "abov": 2, "short": [2, 21], "hand": 2, "id": [2, 15, 17, 18, 19, 20, 30, 32, 33], "id_nam": [2, 29, 30], "coherent_euclid_200star": 2, "enter": [2, 5], "els": 2, "empti": [2, 33], "onli": [2, 13, 19, 20, 22, 24, 28, 31, 34, 37], "model_param": [2, 20, 21, 29, 30], "type": [2, 13, 17, 19, 20, 21, 22, 23, 24, 25, 26, 28, 30, 33, 34, 35, 36, 37], "mccd": [2, 22], "graph": [2, 22, 34], "poli": [2, 20, 22], "poly_phys": 2, "model_nam": [2, 21, 29, 30], "hyperparamet": [2, 20, 30], "training_hparam": [2, 21, 29, 30], "appli": [2, 22, 28], "identifi": 2, "data_configur": 2, "after": [2, 13], "complet": [2, 31], "filenam": [2, 17], "prompt": 2, "left": [2, 17], "defin": [2, 14, 17, 19, 20, 21, 24, 26, 30, 31, 34, 35, 36, 37], "while": 2, "now": [2, 5, 22, 34], "learn": [2, 30, 31, 38], "rate": [2, 13, 28, 30, 31], "number": [2, 10, 13, 17, 21, 22, 25, 28, 30, 31, 34, 37], "epoch": [2, 30, 31], "multi": [2, 30, 37], "etc": 2, "These": 2, "save": [2, 13, 17, 31], "save_all_cycl": 2, "true": [2, 13, 20, 24, 28, 31, 34], "carri": 2, "out": [2, 13, 34], "comput": [2, 13, 19, 20, 22, 24, 28, 31, 34, 37, 38], "polychromat": [2, 13, 14, 19, 20, 22, 24, 28], "pixel": [2, 13, 28, 34, 37], "reconstruct": [2, 13], "absolut": [2, 13, 30, 35, 37], "rel": [2, 13], "root": [2, 17], "mean": [2, 13, 17, 28], "squar": [2, 13, 17, 23, 28, 37], "rmse": [2, 13, 14, 17], "residu": [2, 13], "between": [2, 28, 37], "low": [2, 14, 28], "super": [2, 13, 28], "resolut": [2, 13], "monochromat": [2, 13, 14, 17, 19, 20, 22, 23, 24, 28], "function": [2, 13, 14, 17, 19, 20, 21, 22, 24, 28, 30, 31, 33, 35, 36, 37, 38], "wavelength": [2, 10, 13, 19, 20, 24, 28, 37], "optic": [2, 14, 19, 20, 24, 28, 38], "differ": [2, 13, 14, 17, 19, 20, 24, 28], "opd": [2, 13, 14, 19, 20, 22, 23, 24, 28, 37], "predict": [2, 13, 18, 19, 20, 22, 24], "map": [2, 13, 19, 20, 21, 22, 23, 24, 25, 28, 36, 37], "ground": [2, 13, 24], "truth": [2, 13, 24], "shape": [2, 13, 14, 17, 19, 20, 22, 24], "order": [2, 13, 19, 22, 24, 28, 37], "moment": [2, 24], "ellipt": 2, "size": [2, 13, 19, 21, 23, 24, 28, 31, 37], "well": 2, "sampl": [2, 13, 19, 20, 24, 28, 31], "galsim": [2, 3, 28, 38], "hsm": 2, "modul": [2, 6, 8, 9, 12, 15, 18, 27, 29, 32], "noiseless": [2, 13], "noisi": 2, "In": [2, 19, 24, 28], "real": 2, "caution": 2, "adequ": 2, "assess": 2, "altern": [2, 28, 34], "formul": 2, "work": [2, 4, 19, 24], "progress": 2, "similarli": 2, "both": [2, 22, 23, 28, 31, 37], "known": 2, "undersampl": [2, 34], "typic": 2, "experi": 2, "like": [2, 28], "resolv": [2, 13, 28], "load": [2, 10, 13, 33, 37], "from": [2, 13, 19, 20, 21, 22, 23, 24, 28, 31, 33, 34, 37, 38], "callback": [2, 31], "model_save_path": 2, "choos": 2, "1": [2, 13, 19, 20, 22, 23, 24, 28, 31, 34, 37, 38], "2": [2, 13, 19, 20, 21, 22, 23, 24, 28, 31, 34, 37, 38], "saved_training_cycl": 2, "pre": [2, 28, 37], "leav": 2, "blank": 2, "trained_model_path": 2, "insid": 2, "trained_model_config": 2, "monchromat": 2, "eval_mono_metric_rms": 2, "eval_opd_metric_rms": 2, "sr": 2, "dataset": [2, 13, 14, 17, 22, 37], "eval_train_shape_sr_metric_rms": 2, "ground_truth_model": 2, "metrics_hparam": 2, "enabl": 2, "choic": [2, 28], "fulli": [2, 19, 24, 34], "given": [2, 22, 34, 37], "state": [2, 19, 20, 22, 24], "previou": [2, 33], "subsequ": 2, "routin": 2, "also": 2, "independ": [2, 22, 37], "previous": 2, "convent": [2, 28], "must": [2, 22, 23, 28, 37], "ex": [2, 28], "train_config": 2, "where": [2, 5, 13, 22], "want": [2, 5, 28, 37], "full": 2, "202310161536": 2, "checkpoint_callback_poli": 2, "coherent_euclid_200stars_cycle1": 2, "00000": 2, "00001": 2, "index": [2, 22, 28, 31], "coherent_euclid_200stars_cycle2": 2, "psf_202310161536": 2, "optim_hist_poli": 2, "psf_model_poli": 2, "pretrain": 2, "trained_model": [2, 14], "comment": 2, "serial": 2, "At": 2, "start": [2, 22, 31], "automat": [2, 3], "just": 2, "befor": [2, 22], "select": [2, 21, 33, 34], "boolean": [2, 17, 20], "flag": [2, 17, 20], "eval_": 2, "metric_typ": 2, "_metric_rms": 2, "fals": [2, 13, 17, 24, 28, 31], "disabl": 2, "note": [2, 5, 28, 34, 37], "polychromatr": 2, "summari": [2, 13], "re": [2, 14], "doesn": 2, "t": [2, 38], "associ": [2, 19, 20, 22, 24, 34], "similar": 2, "those": 2, "indic": [2, 19, 20, 24], "denot": 2, "coupl": [2, 34], "usual": 2, "machin": [2, 5, 38], "batch_siz": [2, 13, 19, 22, 24, 31], "addit": [2, 24], "output_dim": [2, 13, 19, 20, 22, 23, 24, 28, 37], "dimens": [2, 13, 19, 20, 22, 23, 24, 25, 28, 37], "postag": [2, 23], "stamp": [2, 13, 19, 22, 23, 24, 28], "shown": 2, "plotting_param": [2, 17], "folder": 2, "metrics_output_path": 2, "xxxxxxxxxxx": 2, "includ": [2, 24], "metrics_dir": [2, 35], "xxxxxxxxxxx1": 2, "xxxxxxxxxxx2": 2, "would": 2, "chang": [2, 31], "goe": 2, "find": [2, 4], "them": [2, 24], "metrics_config_1": 2, "metrics_config_2": 2, "plot_show": [2, 17], "nearli": 2, "multipl": [2, 28, 36, 37], "other": [2, 19, 24, 28, 37], "comparison": 2, "202305271829": 2, "metrics_config_200": 2, "202305271845": 2, "metrics_config_500": 2, "coherent_euclid_500star": 2, "202305271918": 2, "metrics_config_1000": 2, "coherent_euclid_1000star": 2, "interact": 2, "session": 2, "submit": 2, "process": [2, 10, 13], "variabl": [2, 19, 20, 22, 23, 24, 28], "pipeline_task": 2, "_conf": 2, "_config": 2, "sequenc": [2, 19, 20, 22, 23, 24], "n": [2, 28, 38], "respectiv": 2, "training_config_": 2, "training_conf_1": 2, "training_config_1": 2, "training_conf_2": 2, "training_config_2": 2, "training_conf_n": 2, "training_config_n": 2, "sequenti": 2, "same": [2, 22, 24, 28, 37], "202310131055": 2, "coherent_euclid_200stars_1_cycle1": 2, "coherent_euclid_200stars_n_cycle1": 2, "psf_202310131055": 2, "coherent_euclid_200stars_1": 2, "coherent_euclid_200stars_n": 2, "likewis": 2, "need": [2, 4, 5, 13, 22, 24, 37], "respect": [2, 19, 22, 24], "version": [2, 37], "per": [2, 17, 19, 20, 24, 33, 34], "singl": [2, 37], "do": [2, 19, 20, 24, 31, 37], "so": [2, 13, 28, 34, 37], "step": [2, 22, 24], "compar": 2, "job": 2, "gpu": [2, 5, 13, 30], "futur": [2, 28, 31, 37], "plan": 2, "distribut": [2, 19, 20, 24, 28, 37], "parallel": 2, "acceler": 2, "have": [2, 13, 23, 24, 28], "ani": [2, 13, 28, 31], "question": 2, "feedback": 2, "pleas": [2, 4], "don": 2, "hesit": 2, "open": [2, 4, 38], "github": [2, 4, 5, 25, 37], "issu": [2, 4], "parti": 3, "softwar": [3, 5, 38], "instal": [3, 4], "refer": 3, "numpi": [3, 13, 34, 38], "harri": [3, 38], "2020": [3, 38], "scipi": [3, 38], "virtanen": [3, 38], "abadi": [3, 38], "2015": [3, 38], "addon": 3, "zernik": [3, 8, 18, 19, 20, 21, 22, 23, 24, 28, 37], "antonello": [3, 38], "verhaegen": [3, 38], "opencv": [3, 37, 38], "bradski": [3, 38], "2000": [3, 38], "pillow": [3, 38], "clark": [3, 38], "row": [3, 28, 37, 38], "astropi": [3, 38], "collabor": [3, 38], "2013": [3, 38], "2018": [3, 38], "2022": [3, 38], "matplotlib": [3, 38], "hunter": [3, 38], "2007": [3, 38], "seaborn": [3, 38], "waskom": [3, 38], "2021": [3, 38], "develop": 4, "cosmostat": [4, 5], "lab": 4, "cea": [4, 10, 14, 16, 17, 19, 20, 21, 25, 26, 30, 33, 35, 36], "pari": 4, "saclai": 4, "document": [4, 38], "aim": 4, "inform": [4, 11, 13, 30], "unabl": 4, "what": [4, 37], "look": [4, 23, 28, 37], "here": 4, "your": 4, "academ": 4, "ask": 4, "cite": 4, "written": 5, "therefor": 5, "advis": 5, "equip": 5, "mai": [5, 28, 31, 37], "up": [5, 28, 35, 37], "dedic": 5, "environ": [5, 38], "conda": 5, "minim": 5, "miniconda": 5, "subset": 5, "clone": 5, "git": 5, "http": [5, 25, 37, 38], "com": [5, 10, 19, 20, 21, 25, 37], "pip": 5, "depend": [5, 19, 24], "cd": 5, "proce": 5, "how": [5, 34], "subpackag": 6, "submodul": [6, 19, 20, 22, 23, 24], "sim": [6, 8], "info": [6, 8, 19, 20, 22, 24], "mainmethod": [6, 8, 26], "setprogramopt": [6, 8, 26], "training_preprocess": [8, 9], "testdatahandl": [8, 9, 10, 30], "trainingdatahandl": [8, 9, 10, 30], "compute_metr": [8, 12, 13], "compute_mono_metr": [8, 12, 13], "compute_one_opd_rms": [8, 12, 13], "compute_opd_metr": [8, 12, 13], "compute_opd_metrics_mccd": [8, 12, 13], "compute_opd_metrics_param_model": [8, 12, 13], "compute_opd_metrics_polymodel": [8, 12, 13], "compute_poly_metr": [8, 12, 13], "compute_shape_metr": [8, 12, 13], "gen_gt_wf_model": [8, 12, 13], "plot_funct": [8, 12, 13], "plot_img": [8, 12, 13], "plot_residual_map": [8, 12, 13], "metrics_interfac": [8, 12], "metricsparamshandl": [8, 12, 14], "evaluate_model": [8, 12, 14], "ground_truth_psf_model": [8, 12, 14], "plot_optimisation_metr": [8, 15], "plots_interfac": [8, 15], "metricsplothandl": [8, 15, 17], "monochromaticmetricsplothandl": [8, 15, 17], "shapemetricsplothandl": [8, 15, 17], "define_plot_styl": [8, 15, 17], "get_number_of_star": [8, 15, 17], "make_plot": [8, 15, 17], "plot_metr": [8, 15, 17], "psf_model_parametr": [8, 18], "tf_psf_field_model": [8, 18, 19, 24], "psf_model_semiparametr": [8, 18], "tf_semiparam_field": [8, 13, 18, 20, 24, 31], "psfmodelerror": [8, 18, 21], "get_psf_model": [8, 18, 21], "register_psfclass": [8, 18, 21], "set_psf_model": [8, 18, 21], "tf_obscur": [8, 18, 21], "tf_zernike_cub": [8, 18, 20, 21, 24], "tf_layer": [8, 18], "old_tf_batch_poly_psf": [8, 18, 22], "tf_np_graph_opd": [8, 18, 22], "tf_np_mccd_opd_v2": [8, 18, 22], "tf_np_poly_opd": [8, 18, 22], "tf_batch_mono_psf": [8, 18, 22], "tf_batch_poly_psf": [8, 18, 22], "tf_physical_lay": [8, 18, 22], "tf_poly_z_field": [8, 18, 22], "tf_zernike_opd": [8, 18, 22, 23], "tf_modul": [8, 18], "tf_zernike_mono_psf": [8, 18, 23], "tf_build_phas": [8, 18, 23], "tf_fft_diffract": [8, 18, 23], "tf_mono_psf": [8, 18, 23], "tf_psf_field": [8, 18], "tf_gt_physical_field": [8, 18, 24], "tf_physical_poly_field": [8, 18, 24], "build_psf_model": [8, 18, 24], "zernike_gener": [8, 18, 25, 32, 37], "simpsftoolkit": [8, 10, 19, 20, 22, 24, 27, 37], "resiz": [8, 27, 28, 32, 37], "trainingparamshandl": [8, 29, 30], "filepath_chkp_callback": [8, 29, 30], "get_gpu_info": [8, 29, 30], "setup_train": [8, 29, 30], "train_util": [8, 29], "l1paramschedul": [8, 29, 31], "general_train_cycl": [8, 29, 31], "l1_schedule_rul": [8, 29, 31], "param_train_cycl": [8, 29, 31], "configs_handl": [8, 32], "dataconfighandl": [8, 32, 33], "metricsconfighandl": [8, 32, 33], "plottingconfighandl": [8, 32, 33], "trainingconfighandl": [8, 32, 33], "get_run_config": [8, 32, 33], "register_configclass": [8, 32, 33], "set_run_config": [8, 32, 33], "graph_util": [8, 32], "graphbuild": [8, 32, 34], "gen_pea": [8, 32, 34], "pairwise_dist": [8, 32, 34], "select_vstar": [8, 32, 34], "io": [8, 32], "fileiohandl": [8, 32, 33, 35], "read_config": [8, 32], "recursivenamespac": [8, 17, 32, 33, 36], "read_conf": [8, 32, 36], "read_stream": [8, 32, 36], "read_yaml": [8, 32, 36], "independentzernikeinterpol": [8, 22, 32, 37], "noiseestim": [8, 32, 37], "pi_zernik": [8, 32, 37], "zernikeinterpol": [8, 22, 32, 37], "add_nois": [8, 32, 37], "calc_poly_position_mat": [8, 32, 37], "calc_wf": [8, 32, 37], "calc_wfe_rm": [8, 32, 37], "convert_to_tf": [8, 32, 37], "decimate_im": [8, 27, 28, 32, 37], "downsample_im": [8, 32, 37], "generate_sed_elem": [8, 32, 37], "generate_sed_elems_in_tensorflow": [8, 32, 37], "generate_packed_elem": [8, 13, 32, 37], "load_multi_cycle_params_click": [8, 32, 37], "scale_to_rang": [8, 32, 37], "preprocess": 10, "valid": [10, 31], "author": [10, 14, 16, 17, 19, 20, 21, 25, 26, 30, 33, 35, 36], "jennif": [10, 14, 16, 17, 19, 20, 21, 25, 26, 30, 33, 35, 36], "pollack": [10, 14, 16, 17, 19, 20, 21, 25, 26, 30, 33, 35, 36], "fr": [10, 14, 16, 17, 19, 20, 21, 25, 26, 30, 33, 35, 36], "tobia": [10, 19, 20, 21, 25, 38], "tobiasliaudat": [10, 19, 20, 21, 25], "gmail": [10, 19, 20, 21, 25], "class": [10, 14, 17, 19, 20, 21, 22, 23, 24, 28, 30, 31, 33, 34, 35, 36, 37], "test_data_param": 10, "n_bins_lambda": 10, "sourc": [10, 13, 14, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 28, 30, 31, 33, 34, 35, 36, 37, 38], "object": [10, 13, 14, 17, 20, 21, 26, 28, 30, 31, 33, 34, 35, 36, 37], "handler": [10, 14, 30], "handl": [10, 13, 14, 17, 23, 30, 33], "recurs": [10, 14, 17, 20, 21, 30, 33, 36], "namespac": [10, 14, 17, 20, 21, 26, 30, 33, 36], "instanc": [10, 19, 20, 21, 22, 23, 24, 33, 37], "int": [10, 13, 19, 20, 21, 22, 23, 24, 25, 28, 30, 31, 34, 37], "bin": [10, 13, 28, 37], "training_data_param": 10, "manag": [10, 14, 19, 20, 21, 30, 33, 35], "basic": [11, 22], "about": 11, "evaluate_metrics_mono_rms": [12, 14], "evaluate_metrics_opd": [12, 14], "evaluate_metrics_polychromatic_lowr": [12, 14], "evaluate_metrics_shap": [12, 14], "simpsf_np": [13, 19, 20, 24], "test_s": 13, "train_s": 13, "tf_test_po": 13, "tf_train_po": 13, "tf_test_star": 13, "tf_train_star": 13, "n_bins_lda": [13, 22], "16": [13, 34], "gt_tf_semiparam_field": 13, "tf_po": [13, 37], "lambda_list": 13, "32": [13, 38], "calcul": [13, 19, 20, 22, 23, 24, 28, 37], "return": [13, 17, 19, 20, 21, 22, 23, 24, 25, 26, 28, 30, 31, 33, 34, 35, 36, 37], "multipli": [13, 23, 34], "100": [13, 31], "gt": 13, "posit": [13, 19, 20, 22, 24, 28, 34, 37], "capabl": 13, "phase_n": [13, 19, 20, 22, 23, 24], "float": [13, 19, 20, 21, 24, 28, 31, 34], "batch": [13, 19, 20, 22, 23, 24, 31], "x": [13, 17, 19, 20, 22, 24, 25, 28, 37, 38], "wavelength_valu": 13, "um": [13, 19, 20, 24, 28], "rmse_lda": 13, "rel_rmse_lda": 13, "std_rmse_lda": 13, "standard": [13, 17, 28, 37], "deviat": [13, 28, 37], "std_rel_rmse_lda": 13, "po": [13, 22, 37], "is_poli": 13, "avoid": [13, 24, 28], "Of": 13, "memori": 13, "special": [13, 24], "due": 13, "fact": 13, "higher": 13, "dimension": [13, 21], "than": 13, "remov": [13, 22, 28], "obscur": [13, 19, 21, 22, 23, 24, 28], "element": [13, 22, 23, 28, 37], "ndarrai": [13, 25, 28, 34, 37], "rel_rms": 13, "rmse_std": [13, 17], "rel_rmse_std": 13, "test_po": 13, "train_po": 13, "tf_sed": 13, "20": [13, 31, 37], "n_bins_gt": 13, "dataset_dict": 13, "none": [13, 19, 20, 21, 22, 23, 24, 28, 31, 33, 34, 37], "tensor": [13, 19, 20, 21, 22, 23, 24, 31, 37], "sed_sampl": 13, "sed": [13, 19, 20, 22, 24, 28, 37], "calcualt": 13, "dict": [13, 17, 22, 24, 31, 33, 36], "otherwis": 13, "std_rmse": [13, 17], "sstandard": 13, "std_rel_rms": 13, "output_q": [13, 19, 20, 22, 23, 24, 28], "64": [13, 23, 28], "opt_stars_rel_pix_rms": 13, "imag": [13, 23, 28, 37, 38], "downsampl": [13, 23, 28, 37], "match": [13, 19, 24, 28], "equal": [13, 20, 28, 37], "oversampling_r": [13, 28], "right": [13, 17, 22, 28], "characterist": [13, 28], "pix_sampl": [13, 28], "tel_diamet": [13, 28], "tel_focal_length": [13, 28], "oversampl": [13, 19, 20, 22, 24, 28], "obtain": [13, 28, 37], "factor": [13, 20, 23, 28, 37], "tldr": 13, "better": [13, 19, 24], "measur": 13, "bool": [13, 17, 20, 28, 31, 34], "ad": [13, 19, 20, 22, 24], "ther": 13, "statist": [13, 38], "alwai": 13, "super_res_star": 13, "result_dict": 13, "test_wf_file_path": 13, "pred_output_q": 13, "pred_output_dim": 13, "3": [13, 19, 20, 22, 24, 28, 34, 38], "time": [13, 22, 24, 35], "mesh_po": 13, "titl": 13, "mat": [13, 34], "cmap": [13, 28], "gist_stern": [13, 28], "figsiz": 13, "2d": [13, 23, 28, 38], "xdim": 13, "ydim": 13, "matrix": [13, 19, 20, 21, 22, 24, 34, 37], "subplot": 13, "chosen": 13, "intellig": 13, "n_points_per_dim": 13, "30": 13, "interfac": [14, 17], "method": [14, 17, 19, 20, 21, 22, 23, 24, 26, 28, 30, 31, 33, 34, 35, 36, 37, 38], "metrics_param": 14, "access": [14, 30], "trained_model_param": 14, "training_data": [14, 30], "test_data": [14, 30], "weights_path": 14, "metrics_output": 14, "For": [14, 24, 31, 37], "check": [14, 23, 28, 33], "click": [14, 37], "coeff_matrix": [14, 21], "get_metr": [15, 17], "optimis": [16, 31, 35], "arg": [16, 19, 20, 22, 24, 26, 37], "list_of_star": 17, "metric_nam": 17, "plot_titl": 17, "plots_dir": [17, 35], "str": [17, 21, 22, 24, 28, 30, 33, 35, 36], "label": [17, 19, 20, 24], "get": [17, 19, 20, 21, 22, 24, 28, 30, 33, 35], "xxxxxxxxxxxx": 17, "repres": 17, "test_metr": 17, "train_metr": 17, "tupl": [17, 19, 20, 22, 31, 33, 37], "consist": [17, 22, 37], "rm": [17, 28], "poly_metr": 17, "opd_metr": 17, "poly_pixel": 17, "metrics_conf": [17, 33], "mono_metr": 17, "shape_metr": 17, "style": 17, "plot_styl": 17, "x_axi": 17, "y_axi": 17, "y_axis_err": 17, "x_axis_label": 17, "y_right_axis_label": 17, "y_left_axis_label": 17, "make": [17, 25, 33, 37], "axi": [17, 22, 28, 37], "y": [17, 22, 38], "point": [17, 22, 26, 28, 38], "vertic": [17, 28, 37], "list_of_metr": 17, "plot_saving_path": 17, "assign_coeff_matrix": [18, 19, 20, 22, 24], "get_coeff_matrix": [18, 19, 20, 22, 24], "predict_mono_psf": [18, 19, 20, 24], "predict_opd": [18, 19, 20, 24], "set_output_q": [18, 19, 20, 24], "assign_s_mat": [18, 20, 22, 24], "project_dd_featur": [18, 20, 24], "set_nonzero_nonparam": [18, 20, 24], "set_trainable_lay": [18, 20, 24], "set_zero_nonparam": [18, 20, 24], "calculate_mono_psf": [18, 22], "calculate_poly_psf": [18, 22], "set_psf_batch": [18, 22], "init_var": [18, 22], "set_alpha_ident": [18, 22], "set_alpha_zero": [18, 22], "init_mono_psf": [18, 22], "set_lambda_phasen": [18, 22], "set_output_param": [18, 22], "interpolate_al": [18, 22], "interpolate_independent_zk": [18, 22], "interpolate_top_k": [18, 22], "get_poly_coefficients_shap": [18, 22], "init_coeff_matrix": [18, 22], "apply_obscur": [18, 23], "opd_to_phas": [18, 23], "zero_padding_diffract": [18, 23], "crop_img": [18, 23, 27, 28], "normalize_psf": [18, 23], "tf_crop_img": [18, 23], "compute_zernik": [18, 24], "predict_step": [18, 24], "predict_zernik": [18, 24], "zks_pad": [18, 24], "kwarg": [19, 20, 22, 24, 36], "polynomi": [19, 20, 21, 22, 24, 28, 37], "basi": [19, 20, 24], "string": [19, 20, 22, 24, 31, 33, 35, 37], "attribut": [19, 20, 22, 23, 24, 30], "zernike_map": [19, 22, 23, 24, 28], "n_batch": [19, 24], "opd_dim": [19, 20, 22, 24], "predefin": [19, 24], "phase": [19, 23, 24, 28, 38], "q": [19, 22, 24], "diffract": [19, 23, 24, 28], "zero": [19, 20, 22, 23, 24, 28, 37], "pad": [19, 23, 24, 28], "found": [19, 24, 37], "packed_s": [19, 24], "input_q": [19, 24], "replic": [19, 24], "origin": [19, 23, 24, 36], "divis": [19, 24], "recommend": [19, 24, 31], "integ": [19, 23, 24, 28, 31], "l2_param": [19, 24], "go": [19, 22, 24], "l2": [19, 24], "loss": [19, 20, 22, 24, 31], "0": [19, 22, 23, 24, 28, 31, 37, 38], "n_zernik": [19, 21, 22, 24, 25, 37], "d_max": [19, 22, 24, 37], "maximum": [19, 24, 28, 34], "degre": [19, 22, 24], "coeffici": [19, 20, 21, 22, 23, 24, 28, 37], "variat": [19, 22, 24], "x_lim": [19, 22, 24, 37], "limit": [19, 22, 24, 28], "coordin": [19, 24], "y_lim": [19, 22, 24, 37], "coeff_mat": [19, 20, 22, 24], "initi": [19, 20, 21, 22, 24, 28, 37], "activity_regular": [19, 20, 22, 24], "regular": [19, 20, 22, 24], "layer": [19, 20, 22, 24], "compute_dtyp": [19, 20, 22, 24], "dtype": [19, 20, 22, 24], "distribute_reduction_method": [19, 20, 24], "emploi": [19, 20, 24], "reduc": [19, 20, 24], "replica": [19, 20, 24], "distribute_strategi": [19, 20, 24], "tf": [19, 20, 22, 23, 24, 31, 37], "strategi": [19, 20, 24], "wa": [19, 20, 24, 34], "under": [19, 20, 24], "dtype_polici": [19, 20, 22, 24], "polici": [19, 20, 22, 24], "dynam": [19, 20, 22, 24], "whether": [19, 20, 22, 24, 34], "eager": [19, 20, 22, 24], "constructor": [19, 20, 22, 24], "enable_tune_steps_per_execut": [19, 20, 24], "inbound_nod": [19, 20, 22, 24], "api": [19, 20, 22, 24], "node": [19, 20, 22, 24], "upstream": [19, 20, 22, 24], "input_mask": [19, 20, 22, 24], "mask": [19, 20, 22, 24], "input_shap": [19, 20, 22, 24], "input_spec": [19, 20, 22, 24], "inputspec": [19, 20, 22, 24], "format": [19, 20, 22, 24], "jit_compil": [19, 20, 24], "compil": [19, 20, 24], "xla": [19, 20, 24], "add_loss": [19, 20, 22, 24], "add_metr": [19, 20, 24], "metrics_nam": [19, 20, 24], "name_scop": [19, 20, 22, 23, 24], "non_trainable_vari": [19, 20, 22, 23, 24], "trainabl": [19, 20, 22, 23, 24], "non_trainable_weight": [19, 20, 22, 24], "track": [19, 20, 22, 24], "outbound_nod": [19, 20, 22, 24], "downstream": [19, 20, 22, 24], "output_mask": [19, 20, 22, 24], "output_shap": [19, 20, 22, 24], "run_eagerli": [19, 20, 24], "settabl": [19, 20, 24], "eagerli": [19, 20, 24], "state_upd": [19, 20, 24], "deprec": [19, 20, 24], "NOT": [19, 20, 24], "supports_mask": [19, 20, 22, 24], "support": [19, 20, 22, 24], "compute_mask": [19, 20, 22, 24], "trainable_vari": [19, 20, 22, 23, 24], "trainable_weight": [19, 20, 22, 24], "updat": [19, 20, 22, 24, 33], "variable_dtyp": [19, 20, 22, 24], "alia": [19, 20, 22, 24], "__call__": [19, 20, 24], "reset_st": [19, 20, 24], "assign": [19, 20, 22, 24], "input_posit": [19, 20, 24], "lambda_ob": [19, 20, 22, 23, 24, 28], "desir": [19, 20, 24, 25, 28, 37], "batch_dim": [19, 20, 24], "feasible_n": [19, 20, 24, 27, 28], "opd_map": [19, 20, 22, 24], "request": [19, 20, 24], "wrt": [19, 20, 24, 28], "semi": [20, 24], "training_param": [20, 30], "s_mat": [20, 22, 24], "dd": [20, 22, 24], "flow": [20, 21, 22, 37], "project": [20, 24, 28, 38], "onto": [20, 24], "n_z": [20, 24], "transfer": [20, 24], "part": [20, 22, 24, 31], "alpha": [20, 22, 34], "param_bool": [20, 24], "nonparam_bool": [20, 24], "except": 21, "instanti": 21, "psf_class": 21, "regist": [21, 33], "wrapper": [21, 33], "pupil_diam": 21, "n_filter": [21, 28], "pupil": [21, 22, 28], "diamet": [21, 22, 28], "filter": [21, 28], "eagertensor": 21, "cube": 21, "pack": [22, 37], "outsid": [22, 25, 37], "pupil_len": 22, "packed_sed_data": 22, "come": 22, "convert_to_tensor": 22, "inner": 22, "packed_elem": 22, "1d": 22, "sed_norm_v": 22, "constant": [22, 34], "fov": [22, 28], "psf_batch": 22, "attach": 22, "cosntraint": 22, "obs_po": [22, 24, 34], "n_star": [22, 24], "spatial_d": 22, "n_dic_elem": 22, "spatial": 22, "constraint": [22, 34], "total": [22, 28, 30], "confound": 22, "n_comp": [22, 34], "graph_comp": 22, "correspondign": 22, "max": 22, "determin": [22, 23], "spatial_dict": 22, "random": [22, 28], "uniform": [22, 28], "ident": 22, "random_se": 22, "seed": [22, 28], "pi": 22, "current_opd": 22, "opd_batch": 22, "initialis": 22, "restart": 22, "914": 22, "7": [22, 38], "lambda": [22, 23], "phasen": 22, "patam": 22, "give": [22, 34], "contribut": [22, 37], "physic": [22, 24], "fix": [22, 34], "zks_prior": [22, 24], "interpolation_typ": [22, 24], "interpol": [22, 24, 28, 37], "top_k": 22, "independent_zk": 22, "interpolation_arg": [22, 24], "hyper": [22, 30], "rbf": [22, 37], "k": [22, 37, 38], "prior": [22, 24], "zernikes_coeff": 22, "build": [22, 23, 34, 36, 38], "allow": [22, 28], "avaialbl": 22, "closest": [22, 28, 37], "even": 22, "though": 22, "smaller": 22, "bigger": 22, "consid": [22, 28, 31, 34], "turn": [22, 23], "Will": [22, 23], "num_coeff": [22, 23], "x_dim": [22, 23], "y_dim": [22, 23], "z_coeff": [22, 23, 28], "sum": 22, "coeff": 22, "pass": [23, 28, 31], "ctor": 23, "complex": 23, "wise": [23, 34], "convert": 23, "no_pad_phas": 23, "import": 23, "output_crop_dim": 23, "crop": 23, "width": [23, 28, 37], "height": [23, 28, 37], "num_star": 23, "n_zk": 24, "coeffient": 24, "zks_coeff": 24, "n_zks_total": 24, "evaluate_step": 24, "custom": 24, "infer": 24, "No": [24, 28], "sizet": 24, "d_max_nonparam": 24, "n_zks_param": 24, "zk_param": 24, "zk_prior": [24, 37], "length": [24, 28], "n_zks_prior": 24, "model_inst": 24, "wfe_dim": [25, 37], "jacopoantonello": [25, 37], "mode": [25, 28, 31, 37], "unit": [25, 28, 37], "circl": [25, 37], "fill": [25, 37], "nan": [25, 37], "np": [25, 28, 37], "setup": [26, 30, 35], "parser": 26, "argparg": 26, "sed_gen_nois": [27, 28], "calc_sed_wave_valu": [27, 28], "calculate_opd": [27, 28], "calculate_wfe_rm": [27, 28], "check_wfe_rm": [27, 28], "diffract_phas": [27, 28], "feasible_wavelength": [27, 28], "fft_diffract": [27, 28], "filter_s": [27, 28], "gen_sed_interp": [27, 28], "gen_sed_sampl": [27, 28], "gen_random_z_coeff": [27, 28], "generate_mono_psf": [27, 28], "generate_poly_psf": [27, 28], "generate_pupil_obscur": [27, 28], "get_psf": [27, 28], "get_radial_idx": [27, 28], "get_z_coeff": [27, 28], "interp_s": [27, 28], "normalize_zernik": [27, 28], "opd_phase_plott": [27, 28], "plot_opd_phas": [27, 28], "plot_psf": [27, 28], "plot_z_coeff": [27, 28], "psf_plotter": [27, 28], "set_z_coeff": [27, 28], "max_ord": 28, "45": 28, "max_wfe_rm": 28, "rand_se": 28, "plot_opt": 28, "12": [28, 38], "24": 28, "5": [28, 34, 37, 38], "pupil_diamet": 28, "1024": 28, "euclid_obsc": 28, "lp_filter_length": 28, "verbos": [28, 31, 34], "sed_sigma": 28, "sed_interp_pts_per_bin": 28, "sed_extrapol": 28, "sed_interp_kind": 28, "linear": 28, "could": 28, "xxxzernike_map": 28, "osa": 28, "ansi": 28, "wfe": 28, "forvnorm": 28, "mu": 28, "m": [28, 38], "14": 28, "minumum": 28, "alias": 28, "band": 28, "55um": 28, "9um": 28, "mirror": 28, "focal": 28, "plane": 28, "pix": 28, "wheter": 28, "defualt": 28, "lp": 28, "effect": 28, "simpl": 28, "top": 28, "hat": 28, "self": [28, 37], "explanatori": 28, "activ": 28, "gaussian": [28, 37], "nois": [28, 31, 37], "extrapol": 28, "kind": 28, "cubic": 28, "static": [28, 36, 37], "n_bin": [28, 37], "normal": 28, "vector": [28, 37], "35": [28, 34], "feasibl": 28, "matter": 28, "speed": 28, "spectral": 28, "energi": 28, "regen_sampl": 28, "admit": 28, "to_crop_img": 28, "ref_im": 28, "input_im": [28, 37], "decim_f": [28, 37], "decim": [28, 37], "pil": [28, 37, 38], "librari": [28, 37, 38], "target": 28, "filter_lim": 28, "wvlength": 28, "integr": 28, "less": 28, "unfilterd": 28, "unfilt": 28, "column": 28, "lower": 28, "und": 28, "upper": 28, "midpoint": 28, "increas": 28, "overlap": 28, "disjoint": 28, "interp_kind": 28, "nm": 28, "sampler": 28, "law": 28, "u": [28, 38], "divid": 28, "radial": 28, "u_i": 28, "realiz": 28, "rand_coeff": 28, "725": 28, "vi": [28, 38], "550": 28, "900": 28, "n_pix": 28, "3d": 28, "angl": 28, "sed_filt": 28, "n_point": 28, "add": [28, 33, 37], "pupil_mask": [28, 37], "viridi": 28, "save_img": 28, "dsize": [28, 37], "dst": [28, 37], "fx": [28, 37], "fy": [28, 37], "brief": [28, 37], "down": [28, 37], "taken": [28, 37], "account": [28, 37], "instead": [28, 37], "deriv": [28, 37], "fit": [28, 31, 37], "explicitli": [28, 37], "endcod": [28, 37], "direct": [28, 37], "wai": [28, 37], "let": [28, 37], "destin": [28, 37], "shrink": [28, 37], "best": [28, 34, 37], "inter_area": [28, 37], "wherea": [28, 37], "enlarg": [28, 37], "inter_cub": [28, 37], "slow": [28, 37], "inter_linear": [28, 37], "faster": [28, 37], "still": [28, 34, 37], "ok": [28, 37], "f": [28, 37, 38], "texttt": [28, 37], "round": [28, 37], "col": [28, 37], "either": [28, 37], "scale": [28, 37, 38], "along": [28, 34, 37], "horizont": [28, 37], "doubl": [28, 37], "interpolationflag": [28, 37], "sa": [28, 37], "warpaffin": [28, 37], "warpperspect": [28, 37], "remap": [28, 37], "learning_rate_non_param": [29, 30, 31], "learning_rate_param": [29, 30, 31], "multi_cycle_param": [29, 30], "n_epochs_non_param": [29, 30, 31], "n_epochs_param": [29, 30, 31], "total_cycl": [29, 30], "on_epoch_begin": [29, 31], "checkpoint_dir": [30, 35], "current_cycl": 30, "devic": 30, "device_nam": 30, "optimizer_dir": [30, 35], "psf_model_dir": [30, 35], "obj": [30, 33], "l1": 31, "schedul": 31, "accord": [31, 33], "take": 31, "l1_rate": 31, "set_model": 31, "set_param": 31, "subclass": 31, "overrid": 31, "action": 31, "validation_data": 31, "param_optim": 31, "non_param_optim": 31, "param_loss": 31, "non_param_loss": 31, "param_metr": 31, "non_param_metr": 31, "param_callback": 31, "non_param_callback": 31, "general_callback": 31, "first_run": 31, "cycle_def": 31, "use_sample_weight": 31, "bcd": 31, "iter": 31, "1e": [31, 34], "kera": 31, "adam": [31, 38], "meansquarederror": 31, "share": 31, "definit": [31, 34], "invers": [31, 38], "varianc": 31, "being": 31, "hist_param": 31, "hist_non_param": 31, "epoch_n": 31, "learning_r": 31, "n_epoch": 31, "call_plot_config_handler_run": [32, 33], "get_psf_model_weights_filepath": [32, 33], "check_and_update_metrics_conf": [32, 33], "load_metrics_into_dict": [32, 33], "make_dict_of_metr": [32, 33], "gen_eigenvect": [32, 34], "pick_emax": [32, 34], "select_param": [32, 34], "copy_conffile_to_output_dir": [32, 35], "get_checkpoint_dir": [32, 35], "get_config_dir": [32, 35], "get_metrics_dir": [32, 35], "get_optimizer_dir": [32, 35], "get_plots_dir": [32, 35], "get_psf_model_dir": [32, 35], "get_timestamp": [32, 35], "setup_output": [32, 35], "map_entri": [32, 36], "interp_one_zk": [32, 37], "interpolate_zk": [32, 37], "estimate_nois": [32, 37], "sigma_mad": [32, 37], "data_conf": 33, "training_model_param": 33, "file_handl": 33, "training_conf": 33, "configu": 33, "model_metr": 33, "filepath": 33, "basenam": 33, "weights_filepath": 33, "wave": 33, "diff": 33, "plotting_conf": 33, "metrics_files_dict": 33, "run_config": 33, "config_param": 33, "config_class": 33, "config_nam": 33, "obs_data": 34, "obs_weight": 34, "n_eigenvect": 34, "n_iter": 34, "ea_grids": 34, "10": [34, 38], "distanc": 34, "auto_run": 34, "necessari": 34, "quantiti": 34, "rca": 34, "compon": 34, "eigenvector": 34, "lead": 34, "poor": 34, "ignor": 34, "vt": 34, "mani": 34, "over": 34, "fine": 34, "logscal": 34, "grid": 34, "pairwis": 34, "immedi": 34, "keep": 34, "smallest": 34, "eigenvalu": 34, "epsilon": 34, "15": 34, "pick": 34, "old": 34, "were": 34, "too": [34, 37], "big": 34, "greedi": 34, "search": 34, "connect": 34, "e_rang": 34, "a_rang": 34, "r_i": 34, "paper": 34, "ngole": 34, "sect": 34, "laplacian": 34, "arrai": [34, 38], "expon": 34, "rais": 34, "diagon": 34, "pea": 34, "p_": 34, "equat": 34, "17": [34, 38], "watch": 34, "plai": 34, "vital": 34, "role": 34, "eigenvect": 34, "solv": 34, "repodir_path": 35, "output_path": 35, "config_path": 35, "source_fil": 35, "write": 35, "copi": 35, "source_dir": 35, "locat": 35, "date": 35, "represent": 35, "simplenamespac": 36, "extra": 36, "keyword": 36, "conf_fil": 36, "stream": 36, "doc": [36, 37], "yield": 36, "tf_zk": 37, "n_sourc": 37, "thin": 37, "plate": 37, "interp": 37, "zerkin": 37, "target_po": 37, "indep": 37, "img_dim": 37, "win_rad": 37, "window": 37, "radiu": 37, "level": 37, "robust": 37, "mad": 37, "median": 37, "tf_z1": 37, "tf_z2": 37, "norm_factor": 37, "intern": 37, "product": 37, "orthonorm": 37, "tf_zernik": 37, "tf_zernike_k": 37, "50": 37, "single_po": 37, "interp_posit": 37, "desired_snr": 37, "snr": 37, "zernike_basi": 37, "zk": 37, "tf_dtype": 37, "bicub": 37, "org": [37, 38], "4": [37, 38], "imgproc": 37, "geometric_transform": 37, "html": 37, "void": 37, "20resiz": 37, "inputarrai": 37, "20src": 37, "20outputarrai": 37, "20dst": 37, "20size": 37, "20dsize": 37, "20doubl": 37, "20fx": 37, "20fy": 37, "20int": 37, "20interpol": 37, "tensorflow_doc": 37, "www": [37, 38], "api_doc": 37, "cc": 37, "op": 37, "area": 37, "transform": 37, "footprint": 37, "averag": 37, "intersect": 37, "fraction": 37, "explan": 37, "link": 37, "medium": 37, "wenrudong": 37, "inter": 37, "actual": 37, "282a626a09b3": 37, "dim_x": 37, "dim_i": 37, "sim_psf_toolkit": 37, "tf_poly_psf": 37, "float64": 37, "obsolet": 37, "backward": 37, "compat": 37, "receiv": 37, "comand": 37, "correctli": 37, "input_arrai": 37, "old_rang": 37, "new_rang": 37, "jean": 38, "luc": 38, "starck": 38, "martin": 38, "kilbing": 38, "pierr": 38, "antoin": 38, "frugier": 38, "rethink": 38, "spread": 38, "problem": 38, "39": 38, "035008": 38, "feb": 38, "url": 38, "dx": 38, "doi": 38, "1088": 38, "1361": 38, "6420": 38, "acb664": 38, "charl": 38, "jarrod": 38, "millman": 38, "st": 38, "\u00e9": 38, "fan": 38, "j": 38, "van": 38, "der": 38, "walt": 38, "ralf": 38, "gommer": 38, "pauli": 38, "david": 38, "cournapeau": 38, "eric": 38, "wieser": 38, "julian": 38, "taylor": 38, "sebastian": 38, "berg": 38, "nathaniel": 38, "smith": 38, "robert": 38, "kern": 38, "matti": 38, "picu": 38, "stephan": 38, "hoyer": 38, "marten": 38, "kerkwijk": 38, "matthew": 38, "brett": 38, "allan": 38, "haldan": 38, "jaim": 38, "fern": 38, "\u00e1": 38, "ndez": 38, "del": 38, "\u00ed": 38, "mark": 38, "wieb": 38, "pearu": 38, "peterson": 38, "rard": 38, "marchant": 38, "kevin": 38, "sheppard": 38, "tyler": 38, "reddi": 38, "warren": 38, "weckess": 38, "hameer": 38, "abbasi": 38, "christoph": 38, "gohlk": 38, "travi": 38, "oliph": 38, "natur": 38, "585": 38, "7825": 38, "357": 38, "362": 38, "septemb": 38, "1038": 38, "s41586": 38, "020": 38, "2649": 38, "matt": 38, "haberland": 38, "evgeni": 38, "burovski": 38, "jonathan": 38, "bright": 38, "joshua": 38, "wilson": 38, "nikolai": 38, "mayorov": 38, "andrew": 38, "nelson": 38, "jone": 38, "larson": 38, "carei": 38, "i\u0307": 38, "lhan": 38, "polat": 38, "yu": 38, "feng": 38, "w": 38, "moor": 38, "jake": 38, "vanderpla": 38, "deni": 38, "laxald": 38, "josef": 38, "perktold": 38, "cimrman": 38, "ian": 38, "henriksen": 38, "quintero": 38, "ann": 38, "archibald": 38, "ant": 38, "\u00f4": 38, "nio": 38, "ribeiro": 38, "fabian": 38, "pedregosa": 38, "paul": 38, "mulbregt": 38, "contributor": 38, "fundament": 38, "algorithm": 38, "scientif": 38, "261": 38, "272": 38, "s41592": 38, "019": 38, "0686": 38, "mart": 38, "ashish": 38, "agarw": 38, "barham": 38, "eugen": 38, "brevdo": 38, "zhifeng": 38, "chen": 38, "craig": 38, "citro": 38, "greg": 38, "corrado": 38, "andi": 38, "davi": 38, "jeffrei": 38, "dean": 38, "matthieu": 38, "devin": 38, "sanjai": 38, "ghemawat": 38, "goodfellow": 38, "harp": 38, "geoffrei": 38, "irv": 38, "michael": 38, "isard": 38, "yangq": 38, "jia": 38, "rafal": 38, "jozefowicz": 38, "lukasz": 38, "kaiser": 38, "manjunath": 38, "kudlur": 38, "josh": 38, "levenberg": 38, "dandelion": 38, "man": 38, "rajat": 38, "monga": 38, "sherri": 38, "derek": 38, "murrai": 38, "chri": 38, "olah": 38, "mike": 38, "schuster": 38, "jonathon": 38, "shlen": 38, "benoit": 38, "steiner": 38, "ilya": 38, "sutskev": 38, "kunal": 38, "talwar": 38, "tucker": 38, "vincent": 38, "vanhouck": 38, "vijai": 38, "vasudevan": 38, "fernanda": 38, "ga": 38, "oriol": 38, "vinyal": 38, "pete": 38, "warden": 38, "wattenberg": 38, "wick": 38, "yuan": 38, "xiaoqiang": 38, "zheng": 38, "larg": 38, "heterogen": 38, "system": 38, "avail": 38, "jacopo": 38, "michel": 38, "modal": 38, "adapt": 38, "opt": 38, "soc": 38, "am": 38, "6": 38, "1160": 38, "1170": 38, "jun": 38, "opg": 38, "optica": 38, "josaa": 38, "abstract": 38, "cfm": 38, "uri": 38, "1364": 38, "001160": 38, "dr": 38, "dobb": 38, "journal": 38, "tool": 38, "alex": 38, "fork": 38, "buildmedia": 38, "readthedoc": 38, "media": 38, "pdf": 38, "latest": 38, "8": 38, "b": 38, "p": 38, "jarvi": 38, "mandelbaum": 38, "bernstein": 38, "bosch": 38, "simet": 38, "meyer": 38, "kacprzak": 38, "nakajima": 38, "zuntz": 38, "miyatak": 38, "dietrich": 38, "armstrong": 38, "melchior": 38, "gill": 38, "modular": 38, "galaxi": 38, "toolkit": 38, "astronomi": 38, "121": 38, "150": 38, "april": 38, "arxiv": 38, "1407": 38, "7676": 38, "1016": 38, "ascom": 38, "02": 38, "002": 38, "9": 38, "robitail": 38, "tollerud": 38, "greenfield": 38, "droettboom": 38, "brai": 38, "aldcroft": 38, "ginsburg": 38, "price": 38, "whelan": 38, "kerzendorf": 38, "conlei": 38, "crighton": 38, "barbari": 38, "d": 38, "muna": 38, "ferguson": 38, "grollier": 38, "parikh": 38, "nair": 38, "unther": 38, "deil": 38, "woillez": 38, "conseil": 38, "kramer": 38, "turner": 38, "l": 38, "singer": 38, "fox": 38, "weaver": 38, "v": 38, "zabalza": 38, "z": 38, "edward": 38, "azale": 38, "bostroem": 38, "burk": 38, "casei": 38, "crawford": 38, "dencheva": 38, "eli": 38, "jen": 38, "labri": 38, "lim": 38, "pierfederici": 38, "pontzen": 38, "ptak": 38, "refsdal": 38, "servillat": 38, "streicher": 38, "commun": 38, "aap": 38, "558": 38, "a33": 38, "octob": 38, "1307": 38, "6212": 38, "1051": 38, "0004": 38, "6361": 38, "201322068": 38, "sip": 38, "\u0151": 38, "cz": 38, "\u00fc": 38, "nther": 38, "shupe": 38, "vand": 38, "erpla": 38, "bradlei": 38, "rez": 38, "su": 38, "de": 38, "val": 38, "borro": 38, "cruz": 38, "ardelean": 38, "babej": 38, "bach": 38, "bachetti": 38, "bakanov": 38, "bamford": 38, "barentsen": 38, "barmbi": 38, "baumbach": 38, "berri": 38, "biscani": 38, "boquien": 38, "bouma": 38, "brammer": 38, "breytenbach": 38, "buddelmeij": 38, "calderon": 38, "cano": 38, "rodr": 38, "guez": 38, "cara": 38, "cardoso": 38, "cheedella": 38, "copin": 38, "corral": 38, "crichton": 38, "avella": 38, "depagn": 38, "donath": 38, "earl": 38, "erben": 38, "fabbro": 38, "ferreira": 38, "finethi": 38, "garrison": 38, "gibbon": 38, "goldstein": 38, "greco": 38, "groener": 38, "hagen": 38, "hirst": 38, "homeier": 38, "horton": 38, "hosseinzadeh": 38, "hu": 38, "hunkel": 38, "\u017e": 38, "ivezi": 38, "\u0107": 38, "jain": 38, "kanarek": 38, "kendrew": 38, "khvalko": 38, "king": 38, "kirkbi": 38, "kulkarni": 38, "kumar": 38, "lee": 38, "lenz": 38, "littlefair": 38, "ma": 38, "macleod": 38, "mastropietro": 38, "mcculli": 38, "montagnac": 38, "morri": 38, "mueller": 38, "mumford": 38, "murphi": 38, "nguyen": 38, "ninan": 38, "\u00f6": 38, "ogaz": 38, "oh": 38, "parejko": 38, "parlei": 38, "pascual": 38, "patil": 38, "plunkett": 38, "prochaska": 38, "rastogi": 38, "janga": 38, "sabat": 38, "sakurikar": 38, "seifert": 38, "sherbert": 38, "sherwood": 38, "shih": 38, "sick": 38, "silbig": 38, "singanamalla": 38, "sladen": 38, "soolei": 38, "sornarajah": 38, "teuben": 38, "thoma": 38, "tremblai": 38, "terr": 38, "\u00f3": 38, "la": 38, "vega": 38, "watkin": 38, "whitmor": 38, "statu": 38, "v2": 38, "aj": 38, "156": 38, "123": 38, "1801": 38, "02634": 38, "3847": 38, "1538": 38, "3881": 38, "aabc4f": 38, "11": 38, "adrian": 38, "pei": 38, "lian": 38, "nichola": 38, "starkman": 38, "larri": 38, "aarya": 38, "lia": 38, "brasseur": 38, "maximilian": 38, "axel": 38, "erik": 38, "eero": 38, "vaher": 38, "benjamin": 38, "jame": 38, "tocknel": 38, "william": 38, "jamieson": 38, "bruce": 38, "merri": 38, "matteo": 38, "moritz": 38, "alvarado": 38, "mont": 38, "attila": 38, "di": 38, "shreya": 38, "bapat": 38, "geert": 38, "juanjo": 38, "baz": 38, "manish": 38, "biswa": 38, "ric": 38, "daria": 38, "mihai": 38, "kyle": 38, "conroi": 38, "simon": 38, "cross": 38, "kell": 38, "francesco": 38, "eugenio": 38, "nadia": 38, "hadrien": 38, "devillepoix": 38, "rg": 38, "arthur": 38, "eigenbrot": 38, "leonardo": 38, "daniel": 38, "foreman": 38, "mackei": 38, "ryan": 38, "nabil": 38, "freij": 38, "suyog": 38, "garg": 38, "robel": 38, "geda": 38, "lauren": 38, "glattli": 38, "yash": 38, "gondhalekar": 38, "karl": 38, "gordon": 38, "grant": 38, "perri": 38, "austen": 38, "steve": 38, "guest": 38, "gurovich": 38, "rasmu": 38, "handberg": 38, "akeem": 38, "hart": 38, "zac": 38, "hatfield": 38, "dodd": 38, "griffin": 38, "tim": 38, "prajwel": 38, "joseph": 38, "bryce": 38, "kalmbach": 38, "emir": 38, "karamehmetoglu": 38, "miko": 38, "ka": 38, "uszi": 38, "ski": 38, "kellei": 38, "wolfgang": 38, "koch": 38, "shankar": 38, "kulumani": 38, "antoni": 38, "chun": 38, "ly": 38, "zhiyuan": 38, "conor": 38, "macbrid": 38, "jakob": 38, "maljaar": 38, "demitri": 38, "henrik": 38, "norman": 38, "richard": 38, "steen": 38, "oman": 38, "camilla": 38, "pacifici": 38, "sergio": 38, "granado": 38, "rohit": 38, "gabriel": 38, "perren": 38, "timothi": 38, "picker": 38, "tanuj": 38, "roulston": 38, "rykoff": 38, "jose": 38, "parikshit": 38, "je": 38, "salgado": 38, "aniket": 38, "sanghi": 38, "saunder": 38, "volodymyr": 38, "savchenko": 38, "ludwig": 38, "schwardt": 38, "eckert": 38, "albert": 38, "anani": 38, "shrei": 38, "gyanendra": 38, "shukla": 38, "simpson": 38, "sudheesh": 38, "leo": 38, "jaladh": 38, "singhal": 38, "manodeep": 38, "sinha": 38, "brigitta": 38, "spitler": 38, "stansbi": 38, "ol": 38, "jani": 38, "umak": 38, "john": 38, "swinbank": 38, "dan": 38, "taranu": 38, "nikita": 38, "tewari": 38, "miguel": 38, "samuel": 38, "kooten": 38, "zlatan": 38, "vasovi": 38, "shresth": 38, "verma": 38, "jo": 38, "vin": 38, "ciu": 38, "miranda": 38, "peter": 38, "tom": 38, "winkel": 38, "wood": 38, "vasei": 38, "rui": 38, "xue": 38, "yoachim": 38, "zhang": 38, "andrea": 38, "zonca": 38, "sustain": 38, "grow": 38, "orient": 38, "major": 38, "releas": 38, "v5": 38, "apj": 38, "935": 38, "167": 38, "august": 38, "2206": 38, "14220": 38, "4357": 38, "ac7c74": 38, "graphic": 38, "engin": 38, "90": 38, "95": 38, "1109": 38, "mcse": 38, "55": 38, "13": 38, "visual": 38, "60": 38, "3021": 38, "21105": 38, "joss": 38, "03021": 38}, "objects": {"": [[8, 0, 0, "-", "wf_psf"]], "wf_psf": [[9, 0, 0, "-", "data"], [11, 0, 0, "-", "info"], [12, 0, 0, "-", "metrics"], [15, 0, 0, "-", "plotting"], [18, 0, 0, "-", "psf_models"], [26, 0, 0, "-", "run"], [27, 0, 0, "-", "sims"], [29, 0, 0, "-", "training"], [32, 0, 0, "-", "utils"]], "wf_psf.data": [[10, 0, 0, "-", "training_preprocessing"]], "wf_psf.data.training_preprocessing": [[10, 1, 1, "", "TestDataHandler"], [10, 1, 1, "", "TrainingDataHandler"]], "wf_psf.metrics": [[13, 0, 0, "-", "metrics"], [14, 0, 0, "-", "metrics_interface"]], "wf_psf.metrics.metrics": [[13, 2, 1, "", "compute_metrics"], [13, 2, 1, "", "compute_mono_metric"], [13, 2, 1, "", "compute_one_opd_rmse"], [13, 2, 1, "", "compute_opd_metrics"], [13, 2, 1, "", "compute_opd_metrics_mccd"], [13, 2, 1, "", "compute_opd_metrics_param_model"], [13, 2, 1, "", "compute_opd_metrics_polymodel"], [13, 2, 1, "", "compute_poly_metric"], [13, 2, 1, "", "compute_shape_metrics"], [13, 2, 1, "", "gen_GT_wf_model"], [13, 2, 1, "", "plot_function"], [13, 2, 1, "", "plot_imgs"], [13, 2, 1, "", "plot_residual_maps"]], "wf_psf.metrics.metrics_interface": [[14, 1, 1, "", "MetricsParamsHandler"], [14, 2, 1, "", "evaluate_model"], [14, 2, 1, "", "ground_truth_psf_model"]], "wf_psf.metrics.metrics_interface.MetricsParamsHandler": [[14, 3, 1, "", "evaluate_metrics_mono_rmse"], [14, 3, 1, "", "evaluate_metrics_opd"], [14, 3, 1, "", "evaluate_metrics_polychromatic_lowres"], [14, 3, 1, "", "evaluate_metrics_shape"]], "wf_psf.plotting": [[16, 0, 0, "-", "plot_optimisation_metrics"], [17, 0, 0, "-", "plots_interface"]], "wf_psf.plotting.plot_optimisation_metrics": [[16, 2, 1, "", "plot_optimisation_metrics"]], "wf_psf.plotting.plots_interface": [[17, 1, 1, "", "MetricsPlotHandler"], [17, 1, 1, "", "MonochromaticMetricsPlotHandler"], [17, 1, 1, "", "ShapeMetricsPlotHandler"], [17, 2, 1, "", "define_plot_style"], [17, 2, 1, "", "get_number_of_stars"], [17, 2, 1, "", "make_plot"], [17, 2, 1, "", "plot_metrics"]], "wf_psf.plotting.plots_interface.MetricsPlotHandler": [[17, 3, 1, "", "get_metrics"], [17, 4, 1, "", "ids"], [17, 3, 1, "", "plot"]], "wf_psf.plotting.plots_interface.MonochromaticMetricsPlotHandler": [[17, 4, 1, "", "ids"], [17, 3, 1, "", "plot"]], "wf_psf.plotting.plots_interface.ShapeMetricsPlotHandler": [[17, 4, 1, "", "id"], [17, 3, 1, "", "plot"]], "wf_psf.psf_models": [[19, 0, 0, "-", "psf_model_parametric"], [20, 0, 0, "-", "psf_model_semiparametric"], [21, 0, 0, "-", "psf_models"], [22, 0, 0, "-", "tf_layers"], [23, 0, 0, "-", "tf_modules"], [24, 0, 0, "-", "tf_psf_field"], [25, 0, 0, "-", "zernikes"]], "wf_psf.psf_models.psf_model_parametric": [[19, 1, 1, "", "TF_PSF_field_model"]], "wf_psf.psf_models.psf_model_parametric.TF_PSF_field_model": [[19, 3, 1, "", "assign_coeff_matrix"], [19, 3, 1, "", "call"], [19, 3, 1, "", "get_coeff_matrix"], [19, 4, 1, "", "ids"], [19, 3, 1, "", "predict_mono_psfs"], [19, 3, 1, "", "predict_opd"], [19, 3, 1, "", "set_output_Q"]], "wf_psf.psf_models.psf_model_semiparametric": [[20, 1, 1, "", "TF_SemiParam_field"]], "wf_psf.psf_models.psf_model_semiparametric.TF_SemiParam_field": [[20, 3, 1, "", "assign_S_mat"], [20, 3, 1, "", "assign_coeff_matrix"], [20, 3, 1, "", "call"], [20, 3, 1, "", "get_coeff_matrix"], [20, 4, 1, "", "ids"], [20, 3, 1, "", "predict_mono_psfs"], [20, 3, 1, "", "predict_opd"], [20, 3, 1, "", "project_DD_features"], [20, 3, 1, "", "set_nonzero_nonparam"], [20, 3, 1, "", "set_output_Q"], [20, 3, 1, "", "set_trainable_layers"], [20, 3, 1, "", "set_zero_nonparam"]], "wf_psf.psf_models.psf_models": [[21, 5, 1, "", "PsfModelError"], [21, 2, 1, "", "get_psf_model"], [21, 2, 1, "", "register_psfclass"], [21, 2, 1, "", "set_psf_model"], [21, 2, 1, "", "simPSF"], [21, 2, 1, "", "tf_obscurations"], [21, 2, 1, "", "tf_zernike_cube"]], "wf_psf.psf_models.tf_layers": [[22, 1, 1, "", "OLD_TF_batch_poly_PSF"], [22, 1, 1, "", "TF_NP_GRAPH_OPD"], [22, 1, 1, "", "TF_NP_MCCD_OPD_v2"], [22, 1, 1, "", "TF_NP_poly_OPD"], [22, 1, 1, "", "TF_batch_mono_PSF"], [22, 1, 1, "", "TF_batch_poly_PSF"], [22, 1, 1, "", "TF_physical_layer"], [22, 1, 1, "", "TF_poly_Z_field"], [22, 1, 1, "", "TF_zernike_OPD"]], "wf_psf.psf_models.tf_layers.OLD_TF_batch_poly_PSF": [[22, 3, 1, "", "calculate_mono_PSF"], [22, 3, 1, "", "calculate_poly_PSF"], [22, 3, 1, "", "call"], [22, 3, 1, "", "set_psf_batch"]], "wf_psf.psf_models.tf_layers.TF_NP_GRAPH_OPD": [[22, 3, 1, "", "call"], [22, 3, 1, "", "init_vars"], [22, 3, 1, "", "predict"], [22, 3, 1, "", "set_alpha_identity"], [22, 3, 1, "", "set_alpha_zero"]], "wf_psf.psf_models.tf_layers.TF_NP_MCCD_OPD_v2": [[22, 3, 1, "", "call"], [22, 3, 1, "", "init_vars"], [22, 3, 1, "", "predict"], [22, 3, 1, "", "set_alpha_identity"], [22, 3, 1, "", "set_alpha_zero"]], "wf_psf.psf_models.tf_layers.TF_NP_poly_OPD": [[22, 3, 1, "", "assign_S_mat"], [22, 3, 1, "", "call"], [22, 3, 1, "", "init_vars"], [22, 3, 1, "", "set_alpha_identity"], [22, 3, 1, "", "set_alpha_zero"]], "wf_psf.psf_models.tf_layers.TF_batch_mono_PSF": [[22, 3, 1, "", "calculate_mono_PSF"], [22, 3, 1, "", "call"], [22, 3, 1, "", "init_mono_PSF"], [22, 3, 1, "", "set_lambda_phaseN"], [22, 3, 1, "", "set_output_params"]], "wf_psf.psf_models.tf_layers.TF_batch_poly_PSF": [[22, 3, 1, "", "calculate_mono_PSF"], [22, 3, 1, "", "calculate_poly_PSF"], [22, 3, 1, "", "call"]], "wf_psf.psf_models.tf_layers.TF_physical_layer": [[22, 3, 1, "", "call"], [22, 3, 1, "", "interpolate_all"], [22, 3, 1, "", "interpolate_independent_Zk"], [22, 3, 1, "", "interpolate_top_K"]], "wf_psf.psf_models.tf_layers.TF_poly_Z_field": [[22, 3, 1, "", "assign_coeff_matrix"], [22, 3, 1, "", "call"], [22, 3, 1, "", "get_coeff_matrix"], [22, 3, 1, "", "get_poly_coefficients_shape"], [22, 3, 1, "", "init_coeff_matrix"]], "wf_psf.psf_models.tf_layers.TF_zernike_OPD": [[22, 3, 1, "", "call"]], "wf_psf.psf_models.tf_modules": [[23, 1, 1, "", "TF_Zernike_mono_PSF"], [23, 1, 1, "", "TF_build_phase"], [23, 1, 1, "", "TF_fft_diffract"], [23, 1, 1, "", "TF_mono_PSF"], [23, 1, 1, "", "TF_zernike_OPD"]], "wf_psf.psf_models.tf_modules.TF_build_phase": [[23, 3, 1, "", "apply_obscurations"], [23, 3, 1, "", "opd_to_phase"], [23, 3, 1, "", "zero_padding_diffraction"]], "wf_psf.psf_models.tf_modules.TF_fft_diffract": [[23, 3, 1, "", "crop_img"], [23, 3, 1, "", "normalize_psf"], [23, 3, 1, "", "tf_crop_img"]], "wf_psf.psf_models.tf_psf_field": [[24, 1, 1, "", "TF_GT_physical_field"], [24, 1, 1, "", "TF_PSF_field_model"], [24, 1, 1, "", "TF_SemiParam_field"], [24, 1, 1, "", "TF_physical_poly_field"], [24, 2, 1, "", "build_PSF_model"]], "wf_psf.psf_models.tf_psf_field.TF_GT_physical_field": [[24, 3, 1, "", "call"], [24, 3, 1, "", "compute_zernikes"], [24, 3, 1, "", "predict_mono_psfs"], [24, 3, 1, "", "predict_opd"], [24, 3, 1, "", "predict_step"], [24, 3, 1, "", "predict_zernikes"], [24, 3, 1, "", "set_output_Q"]], "wf_psf.psf_models.tf_psf_field.TF_PSF_field_model": [[24, 3, 1, "", "assign_coeff_matrix"], [24, 3, 1, "", "call"], [24, 3, 1, "", "get_coeff_matrix"], [24, 3, 1, "", "predict_mono_psfs"], [24, 3, 1, "", "predict_opd"], [24, 3, 1, "", "set_output_Q"]], "wf_psf.psf_models.tf_psf_field.TF_SemiParam_field": [[24, 3, 1, "", "assign_S_mat"], [24, 3, 1, "", "assign_coeff_matrix"], [24, 3, 1, "", "call"], [24, 3, 1, "", "get_coeff_matrix"], [24, 3, 1, "", "predict_mono_psfs"], [24, 3, 1, "", "predict_opd"], [24, 3, 1, "", "project_DD_features"], [24, 3, 1, "", "set_nonzero_nonparam"], [24, 3, 1, "", "set_output_Q"], [24, 3, 1, "", "set_trainable_layers"], [24, 3, 1, "", "set_zero_nonparam"]], "wf_psf.psf_models.tf_psf_field.TF_physical_poly_field": [[24, 3, 1, "", "assign_coeff_matrix"], [24, 3, 1, "", "call"], [24, 3, 1, "", "compute_zernikes"], [24, 3, 1, "", "get_coeff_matrix"], [24, 3, 1, "", "predict_mono_psfs"], [24, 3, 1, "", "predict_opd"], [24, 3, 1, "", "predict_step"], [24, 3, 1, "", "predict_zernikes"], [24, 3, 1, "", "set_nonzero_nonparam"], [24, 3, 1, "", "set_output_Q"], [24, 3, 1, "", "set_trainable_layers"], [24, 3, 1, "", "set_zero_nonparam"], [24, 3, 1, "", "zks_pad"]], "wf_psf.psf_models.zernikes": [[25, 2, 1, "", "zernike_generator"]], "wf_psf.run": [[26, 2, 1, "", "mainMethod"], [26, 2, 1, "", "setProgramOptions"]], "wf_psf.sims": [[28, 0, 0, "-", "SimPSFToolkit"]], "wf_psf.sims.SimPSFToolkit": [[28, 1, 1, "", "SimPSFToolkit"], [28, 2, 1, "", "resize"]], "wf_psf.sims.SimPSFToolkit.SimPSFToolkit": [[28, 3, 1, "", "SED_gen_noise"], [28, 3, 1, "", "calc_SED_wave_values"], [28, 3, 1, "", "calculate_opd"], [28, 3, 1, "", "calculate_wfe_rms"], [28, 3, 1, "", "check_wfe_rms"], [28, 3, 1, "", "crop_img"], [28, 3, 1, "", "decimate_im"], [28, 3, 1, "", "diffract_phase"], [28, 3, 1, "", "feasible_N"], [28, 3, 1, "", "feasible_wavelength"], [28, 3, 1, "", "fft_diffract"], [28, 3, 1, "", "filter_SED"], [28, 3, 1, "", "gen_SED_interp"], [28, 3, 1, "", "gen_SED_sampler"], [28, 3, 1, "", "gen_random_Z_coeffs"], [28, 3, 1, "", "generate_mono_PSF"], [28, 3, 1, "", "generate_poly_PSF"], [28, 3, 1, "", "generate_pupil_obscurations"], [28, 3, 1, "", "get_psf"], [28, 3, 1, "", "get_radial_idx"], [28, 3, 1, "", "get_z_coeffs"], [28, 3, 1, "", "interp_SED"], [28, 3, 1, "", "normalize_zernikes"], [28, 3, 1, "", "opd_phase_plotter"], [28, 3, 1, "", "plot_opd_phase"], [28, 3, 1, "", "plot_psf"], [28, 3, 1, "", "plot_z_coeffs"], [28, 3, 1, "", "psf_plotter"], [28, 3, 1, "", "set_z_coeffs"]], "wf_psf.training": [[30, 0, 0, "-", "train"], [31, 0, 0, "-", "train_utils"]], "wf_psf.training.train": [[30, 1, 1, "", "TrainingParamsHandler"], [30, 2, 1, "", "filepath_chkp_callback"], [30, 2, 1, "", "get_gpu_info"], [30, 2, 1, "", "setup_training"], [30, 2, 1, "", "train"]], "wf_psf.training.train.TrainingParamsHandler": [[30, 6, 1, "", "id_name"], [30, 6, 1, "", "learning_rate_non_params"], [30, 6, 1, "", "learning_rate_params"], [30, 6, 1, "", "model_name"], [30, 6, 1, "", "model_params"], [30, 6, 1, "", "multi_cycle_params"], [30, 6, 1, "", "n_epochs_non_params"], [30, 6, 1, "", "n_epochs_params"], [30, 6, 1, "", "total_cycles"], [30, 6, 1, "", "training_hparams"]], "wf_psf.training.train_utils": [[31, 1, 1, "", "L1ParamScheduler"], [31, 2, 1, "", "general_train_cycle"], [31, 2, 1, "", "l1_schedule_rule"], [31, 2, 1, "", "param_train_cycle"]], "wf_psf.training.train_utils.L1ParamScheduler": [[31, 3, 1, "", "on_epoch_begin"]], "wf_psf.utils": [[33, 0, 0, "-", "configs_handler"], [34, 0, 0, "-", "graph_utils"], [35, 0, 0, "-", "io"], [36, 0, 0, "-", "read_config"], [37, 0, 0, "-", "utils"]], "wf_psf.utils.configs_handler": [[33, 1, 1, "", "DataConfigHandler"], [33, 1, 1, "", "MetricsConfigHandler"], [33, 1, 1, "", "PlottingConfigHandler"], [33, 1, 1, "", "TrainingConfigHandler"], [33, 2, 1, "", "get_run_config"], [33, 2, 1, "", "register_configclass"], [33, 2, 1, "", "set_run_config"]], "wf_psf.utils.configs_handler.MetricsConfigHandler": [[33, 3, 1, "", "call_plot_config_handler_run"], [33, 3, 1, "", "get_psf_model_weights_filepath"], [33, 4, 1, "", "ids"], [33, 3, 1, "", "run"]], "wf_psf.utils.configs_handler.PlottingConfigHandler": [[33, 3, 1, "", "check_and_update_metrics_confs"], [33, 4, 1, "", "ids"], [33, 3, 1, "", "load_metrics_into_dict"], [33, 3, 1, "", "make_dict_of_metrics"], [33, 3, 1, "", "run"]], "wf_psf.utils.configs_handler.TrainingConfigHandler": [[33, 4, 1, "", "ids"], [33, 3, 1, "", "run"]], "wf_psf.utils.graph_utils": [[34, 1, 1, "", "GraphBuilder"], [34, 2, 1, "", "gen_Pea"], [34, 2, 1, "", "pairwise_distances"], [34, 2, 1, "", "select_vstar"]], "wf_psf.utils.graph_utils.GraphBuilder": [[34, 3, 1, "", "gen_eigenvects"], [34, 3, 1, "", "pick_emax"], [34, 3, 1, "", "select_params"]], "wf_psf.utils.io": [[35, 1, 1, "", "FileIOHandler"]], "wf_psf.utils.io.FileIOHandler": [[35, 3, 1, "", "copy_conffile_to_output_dir"], [35, 3, 1, "", "get_checkpoint_dir"], [35, 3, 1, "", "get_config_dir"], [35, 3, 1, "", "get_metrics_dir"], [35, 3, 1, "", "get_optimizer_dir"], [35, 3, 1, "", "get_plots_dir"], [35, 3, 1, "", "get_psf_model_dir"], [35, 3, 1, "", "get_timestamp"], [35, 3, 1, "", "setup_outputs"]], "wf_psf.utils.read_config": [[36, 1, 1, "", "RecursiveNamespace"], [36, 2, 1, "", "read_conf"], [36, 2, 1, "", "read_stream"], [36, 2, 1, "", "read_yaml"]], "wf_psf.utils.read_config.RecursiveNamespace": [[36, 3, 1, "", "map_entry"]], "wf_psf.utils.utils": [[37, 1, 1, "", "IndependentZernikeInterpolation"], [37, 1, 1, "", "NoiseEstimator"], [37, 2, 1, "", "PI_zernikes"], [37, 1, 1, "", "ZernikeInterpolation"], [37, 2, 1, "", "add_noise"], [37, 2, 1, "", "calc_poly_position_mat"], [37, 2, 1, "", "calc_wfe"], [37, 2, 1, "", "calc_wfe_rms"], [37, 2, 1, "", "convert_to_tf"], [37, 2, 1, "", "decimate_im"], [37, 2, 1, "", "downsample_im"], [37, 2, 1, "", "generate_SED_elems"], [37, 2, 1, "", "generate_SED_elems_in_tensorflow"], [37, 2, 1, "", "generate_packed_elems"], [37, 2, 1, "", "load_multi_cycle_params_click"], [37, 2, 1, "", "resize"], [37, 2, 1, "", "scale_to_range"], [37, 2, 1, "", "zernike_generator"]], "wf_psf.utils.utils.IndependentZernikeInterpolation": [[37, 3, 1, "", "interp_one_zk"], [37, 3, 1, "", "interpolate_zks"]], "wf_psf.utils.utils.NoiseEstimator": [[37, 3, 1, "", "estimate_noise"], [37, 3, 1, "", "sigma_mad"]], "wf_psf.utils.utils.ZernikeInterpolation": [[37, 3, 1, "", "interpolate_zk"], [37, 3, 1, "", "interpolate_zks"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:function", "3": "py:method", "4": "py:attribute", "5": "py:exception", "6": "py:property"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "function", "Python function"], "3": ["py", "method", "Python method"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "exception", "Python exception"], "6": ["py", "property", "Python property"]}, "titleterms": {"about": 0, "basic": 1, "execut": 1, "configur": 2, "data": [2, 9, 10], "train": [2, 29, 30, 31], "metric": [2, 12, 13, 14], "plot": [2, 15, 16, 17], "master": 2, "depend": 3, "python": 3, "wavediff": 4, "instal": 5, "step": 5, "wf_psf": [6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "packag": [8, 9, 12, 15, 18, 27, 29, 32], "subpackag": 8, "submodul": [8, 9, 12, 15, 18, 27, 29, 32], "training_preprocess": 10, "modul": [10, 11, 13, 14, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 28, 30, 31, 33, 34, 35, 36, 37], "info": 11, "metrics_interfac": 14, "plot_optimisation_metr": 16, "plots_interfac": 17, "psf_model": [18, 19, 20, 21, 22, 23, 24, 25], "psf_model_parametr": 19, "psf_model_semiparametr": 20, "tf_layer": 22, "tf_modul": 23, "tf_psf_field": 24, "zernik": 25, "run": 26, "sim": [27, 28], "simpsftoolkit": 28, "train_util": 31, "util": [32, 33, 34, 35, 36, 37], "configs_handl": 33, "graph_util": 34, "io": 35, "read_config": 36, "refer": 38}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.viewcode": 1, "sphinxcontrib.bibtex": 9, "sphinx": 60}, "alltitles": {"About": [[0, "about"]], "Basic Execution": [[1, "basic-execution"]], "Configuration": [[2, "configuration"]], "Data Configuration": [[2, "data-configuration"]], "Training Configuration": [[2, "training-configuration"]], "Metrics Configuration": [[2, "metrics-configuration"]], "Plot Configuration": [[2, "plot-configuration"]], "Master Configuration": [[2, "master-configuration"]], "Dependencies": [[3, "dependencies"]], "Python Dependencies": [[3, "python-dependencies"]], "WaveDiff": [[4, "wavediff"]], "Installation": [[5, "installation"]], "Installation Steps": [[5, "installation-steps"]], "wf_psf": [[6, "wf-psf"]], "wf_psf package": [[8, "module-wf_psf"]], "Subpackages": [[8, "subpackages"]], "Submodules": [[8, "submodules"], [9, "submodules"], [12, "submodules"], [15, "submodules"], [18, "submodules"], [27, "submodules"], [29, "submodules"], [32, "submodules"]], "wf_psf.data package": [[9, "module-wf_psf.data"]], "wf_psf.data.training_preprocessing module": [[10, "module-wf_psf.data.training_preprocessing"]], "wf_psf.info module": [[11, "module-wf_psf.info"]], "wf_psf.metrics package": [[12, "module-wf_psf.metrics"]], "wf_psf.metrics.metrics module": [[13, "module-wf_psf.metrics.metrics"]], "wf_psf.metrics.metrics_interface module": [[14, "module-wf_psf.metrics.metrics_interface"]], "wf_psf.plotting package": [[15, "module-wf_psf.plotting"]], "wf_psf.plotting.plot_optimisation_metrics module": [[16, "module-wf_psf.plotting.plot_optimisation_metrics"]], "wf_psf.plotting.plots_interface module": [[17, "module-wf_psf.plotting.plots_interface"]], "wf_psf.psf_models package": [[18, "module-wf_psf.psf_models"]], "wf_psf.psf_models.psf_model_parametric module": [[19, "module-wf_psf.psf_models.psf_model_parametric"]], "wf_psf.psf_models.psf_model_semiparametric module": [[20, "module-wf_psf.psf_models.psf_model_semiparametric"]], "wf_psf.psf_models.psf_models module": [[21, "module-wf_psf.psf_models.psf_models"]], "wf_psf.psf_models.tf_layers module": [[22, "module-wf_psf.psf_models.tf_layers"]], "wf_psf.psf_models.tf_modules module": [[23, "module-wf_psf.psf_models.tf_modules"]], "wf_psf.psf_models.tf_psf_field module": [[24, "module-wf_psf.psf_models.tf_psf_field"]], "wf_psf.psf_models.zernikes module": [[25, "module-wf_psf.psf_models.zernikes"]], "wf_psf.run module": [[26, "module-wf_psf.run"]], "wf_psf.sims package": [[27, "module-wf_psf.sims"]], "wf_psf.sims.SimPSFToolkit module": [[28, "module-wf_psf.sims.SimPSFToolkit"]], "wf_psf.training package": [[29, "module-wf_psf.training"]], "wf_psf.training.train module": [[30, "module-wf_psf.training.train"]], "wf_psf.training.train_utils module": [[31, "module-wf_psf.training.train_utils"]], "wf_psf.utils package": [[32, "module-wf_psf.utils"]], "wf_psf.utils.configs_handler module": [[33, "module-wf_psf.utils.configs_handler"]], "wf_psf.utils.graph_utils module": [[34, "module-wf_psf.utils.graph_utils"]], "wf_psf.utils.io module": [[35, "module-wf_psf.utils.io"]], "wf_psf.utils.read_config module": [[36, "module-wf_psf.utils.read_config"]], "wf_psf.utils.utils module": [[37, "module-wf_psf.utils.utils"]], "References": [[38, "references"]]}, "indexentries": {"module": [[8, "module-wf_psf"], [9, "module-wf_psf.data"], [10, "module-wf_psf.data.training_preprocessing"], [11, "module-wf_psf.info"], [12, "module-wf_psf.metrics"], [13, "module-wf_psf.metrics.metrics"], [14, "module-wf_psf.metrics.metrics_interface"], [15, "module-wf_psf.plotting"], [16, "module-wf_psf.plotting.plot_optimisation_metrics"], [17, "module-wf_psf.plotting.plots_interface"], [18, "module-wf_psf.psf_models"], [19, "module-wf_psf.psf_models.psf_model_parametric"], [20, "module-wf_psf.psf_models.psf_model_semiparametric"], [21, "module-wf_psf.psf_models.psf_models"], [22, "module-wf_psf.psf_models.tf_layers"], [23, "module-wf_psf.psf_models.tf_modules"], [24, "module-wf_psf.psf_models.tf_psf_field"], [25, "module-wf_psf.psf_models.zernikes"], [26, "module-wf_psf.run"], [27, "module-wf_psf.sims"], [28, "module-wf_psf.sims.SimPSFToolkit"], [29, "module-wf_psf.training"], [30, "module-wf_psf.training.train"], [31, "module-wf_psf.training.train_utils"], [32, "module-wf_psf.utils"], [33, "module-wf_psf.utils.configs_handler"], [34, "module-wf_psf.utils.graph_utils"], [35, "module-wf_psf.utils.io"], [36, "module-wf_psf.utils.read_config"], [37, "module-wf_psf.utils.utils"]], "wf_psf": [[8, "module-wf_psf"]], "wf_psf.data": [[9, "module-wf_psf.data"]], "testdatahandler (class in wf_psf.data.training_preprocessing)": [[10, "wf_psf.data.training_preprocessing.TestDataHandler"]], "trainingdatahandler (class in wf_psf.data.training_preprocessing)": [[10, "wf_psf.data.training_preprocessing.TrainingDataHandler"]], "wf_psf.data.training_preprocessing": [[10, "module-wf_psf.data.training_preprocessing"]], "wf_psf.info": [[11, "module-wf_psf.info"]], "wf_psf.metrics": [[12, "module-wf_psf.metrics"]], "compute_metrics() (in module wf_psf.metrics.metrics)": [[13, "wf_psf.metrics.metrics.compute_metrics"]], "compute_mono_metric() (in module wf_psf.metrics.metrics)": [[13, "wf_psf.metrics.metrics.compute_mono_metric"]], "compute_one_opd_rmse() (in module wf_psf.metrics.metrics)": [[13, "wf_psf.metrics.metrics.compute_one_opd_rmse"]], "compute_opd_metrics() (in module wf_psf.metrics.metrics)": [[13, "wf_psf.metrics.metrics.compute_opd_metrics"]], "compute_opd_metrics_mccd() (in module wf_psf.metrics.metrics)": [[13, "wf_psf.metrics.metrics.compute_opd_metrics_mccd"]], "compute_opd_metrics_param_model() (in module wf_psf.metrics.metrics)": [[13, "wf_psf.metrics.metrics.compute_opd_metrics_param_model"]], "compute_opd_metrics_polymodel() (in module wf_psf.metrics.metrics)": [[13, "wf_psf.metrics.metrics.compute_opd_metrics_polymodel"]], "compute_poly_metric() (in module wf_psf.metrics.metrics)": [[13, "wf_psf.metrics.metrics.compute_poly_metric"]], "compute_shape_metrics() (in module wf_psf.metrics.metrics)": [[13, "wf_psf.metrics.metrics.compute_shape_metrics"]], "gen_gt_wf_model() (in module wf_psf.metrics.metrics)": [[13, "wf_psf.metrics.metrics.gen_GT_wf_model"]], "plot_function() (in module wf_psf.metrics.metrics)": [[13, "wf_psf.metrics.metrics.plot_function"]], "plot_imgs() (in module wf_psf.metrics.metrics)": [[13, "wf_psf.metrics.metrics.plot_imgs"]], "plot_residual_maps() (in module wf_psf.metrics.metrics)": [[13, "wf_psf.metrics.metrics.plot_residual_maps"]], "wf_psf.metrics.metrics": [[13, "module-wf_psf.metrics.metrics"]], "metricsparamshandler (class in wf_psf.metrics.metrics_interface)": [[14, "wf_psf.metrics.metrics_interface.MetricsParamsHandler"]], "evaluate_metrics_mono_rmse() (wf_psf.metrics.metrics_interface.metricsparamshandler method)": [[14, "wf_psf.metrics.metrics_interface.MetricsParamsHandler.evaluate_metrics_mono_rmse"]], "evaluate_metrics_opd() (wf_psf.metrics.metrics_interface.metricsparamshandler method)": [[14, "wf_psf.metrics.metrics_interface.MetricsParamsHandler.evaluate_metrics_opd"]], "evaluate_metrics_polychromatic_lowres() (wf_psf.metrics.metrics_interface.metricsparamshandler method)": [[14, "wf_psf.metrics.metrics_interface.MetricsParamsHandler.evaluate_metrics_polychromatic_lowres"]], "evaluate_metrics_shape() (wf_psf.metrics.metrics_interface.metricsparamshandler method)": [[14, "wf_psf.metrics.metrics_interface.MetricsParamsHandler.evaluate_metrics_shape"]], "evaluate_model() (in module wf_psf.metrics.metrics_interface)": [[14, "wf_psf.metrics.metrics_interface.evaluate_model"]], "ground_truth_psf_model() (in module wf_psf.metrics.metrics_interface)": [[14, "wf_psf.metrics.metrics_interface.ground_truth_psf_model"]], "wf_psf.metrics.metrics_interface": [[14, "module-wf_psf.metrics.metrics_interface"]], "wf_psf.plotting": [[15, "module-wf_psf.plotting"]], "plot_optimisation_metrics() (in module wf_psf.plotting.plot_optimisation_metrics)": [[16, "wf_psf.plotting.plot_optimisation_metrics.plot_optimisation_metrics"]], "wf_psf.plotting.plot_optimisation_metrics": [[16, "module-wf_psf.plotting.plot_optimisation_metrics"]], "metricsplothandler (class in wf_psf.plotting.plots_interface)": [[17, "wf_psf.plotting.plots_interface.MetricsPlotHandler"]], "monochromaticmetricsplothandler (class in wf_psf.plotting.plots_interface)": [[17, "wf_psf.plotting.plots_interface.MonochromaticMetricsPlotHandler"]], "shapemetricsplothandler (class in wf_psf.plotting.plots_interface)": [[17, "wf_psf.plotting.plots_interface.ShapeMetricsPlotHandler"]], "define_plot_style() (in module wf_psf.plotting.plots_interface)": [[17, "wf_psf.plotting.plots_interface.define_plot_style"]], "get_metrics() (wf_psf.plotting.plots_interface.metricsplothandler method)": [[17, "wf_psf.plotting.plots_interface.MetricsPlotHandler.get_metrics"]], "get_number_of_stars() (in module wf_psf.plotting.plots_interface)": [[17, "wf_psf.plotting.plots_interface.get_number_of_stars"]], "id (wf_psf.plotting.plots_interface.shapemetricsplothandler attribute)": [[17, "wf_psf.plotting.plots_interface.ShapeMetricsPlotHandler.id"]], "ids (wf_psf.plotting.plots_interface.metricsplothandler attribute)": [[17, "wf_psf.plotting.plots_interface.MetricsPlotHandler.ids"]], "ids (wf_psf.plotting.plots_interface.monochromaticmetricsplothandler attribute)": [[17, "wf_psf.plotting.plots_interface.MonochromaticMetricsPlotHandler.ids"]], "make_plot() (in module wf_psf.plotting.plots_interface)": [[17, "wf_psf.plotting.plots_interface.make_plot"]], "plot() (wf_psf.plotting.plots_interface.metricsplothandler method)": [[17, "wf_psf.plotting.plots_interface.MetricsPlotHandler.plot"]], "plot() (wf_psf.plotting.plots_interface.monochromaticmetricsplothandler method)": [[17, "wf_psf.plotting.plots_interface.MonochromaticMetricsPlotHandler.plot"]], "plot() (wf_psf.plotting.plots_interface.shapemetricsplothandler method)": [[17, "wf_psf.plotting.plots_interface.ShapeMetricsPlotHandler.plot"]], "plot_metrics() (in module wf_psf.plotting.plots_interface)": [[17, "wf_psf.plotting.plots_interface.plot_metrics"]], "wf_psf.plotting.plots_interface": [[17, "module-wf_psf.plotting.plots_interface"]], "wf_psf.psf_models": [[18, "module-wf_psf.psf_models"]], "tf_psf_field_model (class in wf_psf.psf_models.psf_model_parametric)": [[19, "wf_psf.psf_models.psf_model_parametric.TF_PSF_field_model"]], "assign_coeff_matrix() (wf_psf.psf_models.psf_model_parametric.tf_psf_field_model method)": [[19, "wf_psf.psf_models.psf_model_parametric.TF_PSF_field_model.assign_coeff_matrix"]], "call() (wf_psf.psf_models.psf_model_parametric.tf_psf_field_model method)": [[19, "wf_psf.psf_models.psf_model_parametric.TF_PSF_field_model.call"]], "get_coeff_matrix() (wf_psf.psf_models.psf_model_parametric.tf_psf_field_model method)": [[19, "wf_psf.psf_models.psf_model_parametric.TF_PSF_field_model.get_coeff_matrix"]], "ids (wf_psf.psf_models.psf_model_parametric.tf_psf_field_model attribute)": [[19, "wf_psf.psf_models.psf_model_parametric.TF_PSF_field_model.ids"]], "predict_mono_psfs() (wf_psf.psf_models.psf_model_parametric.tf_psf_field_model method)": [[19, "wf_psf.psf_models.psf_model_parametric.TF_PSF_field_model.predict_mono_psfs"]], "predict_opd() (wf_psf.psf_models.psf_model_parametric.tf_psf_field_model method)": [[19, "wf_psf.psf_models.psf_model_parametric.TF_PSF_field_model.predict_opd"]], "set_output_q() (wf_psf.psf_models.psf_model_parametric.tf_psf_field_model method)": [[19, "wf_psf.psf_models.psf_model_parametric.TF_PSF_field_model.set_output_Q"]], "wf_psf.psf_models.psf_model_parametric": [[19, "module-wf_psf.psf_models.psf_model_parametric"]], "tf_semiparam_field (class in wf_psf.psf_models.psf_model_semiparametric)": [[20, "wf_psf.psf_models.psf_model_semiparametric.TF_SemiParam_field"]], "assign_s_mat() (wf_psf.psf_models.psf_model_semiparametric.tf_semiparam_field method)": [[20, "wf_psf.psf_models.psf_model_semiparametric.TF_SemiParam_field.assign_S_mat"]], "assign_coeff_matrix() (wf_psf.psf_models.psf_model_semiparametric.tf_semiparam_field method)": [[20, "wf_psf.psf_models.psf_model_semiparametric.TF_SemiParam_field.assign_coeff_matrix"]], "call() (wf_psf.psf_models.psf_model_semiparametric.tf_semiparam_field method)": [[20, "wf_psf.psf_models.psf_model_semiparametric.TF_SemiParam_field.call"]], "get_coeff_matrix() (wf_psf.psf_models.psf_model_semiparametric.tf_semiparam_field method)": [[20, "wf_psf.psf_models.psf_model_semiparametric.TF_SemiParam_field.get_coeff_matrix"]], "ids (wf_psf.psf_models.psf_model_semiparametric.tf_semiparam_field attribute)": [[20, "wf_psf.psf_models.psf_model_semiparametric.TF_SemiParam_field.ids"]], "predict_mono_psfs() (wf_psf.psf_models.psf_model_semiparametric.tf_semiparam_field method)": [[20, "wf_psf.psf_models.psf_model_semiparametric.TF_SemiParam_field.predict_mono_psfs"]], "predict_opd() (wf_psf.psf_models.psf_model_semiparametric.tf_semiparam_field method)": [[20, "wf_psf.psf_models.psf_model_semiparametric.TF_SemiParam_field.predict_opd"]], "project_dd_features() (wf_psf.psf_models.psf_model_semiparametric.tf_semiparam_field method)": [[20, "wf_psf.psf_models.psf_model_semiparametric.TF_SemiParam_field.project_DD_features"]], "set_nonzero_nonparam() (wf_psf.psf_models.psf_model_semiparametric.tf_semiparam_field method)": [[20, "wf_psf.psf_models.psf_model_semiparametric.TF_SemiParam_field.set_nonzero_nonparam"]], "set_output_q() (wf_psf.psf_models.psf_model_semiparametric.tf_semiparam_field method)": [[20, "wf_psf.psf_models.psf_model_semiparametric.TF_SemiParam_field.set_output_Q"]], "set_trainable_layers() (wf_psf.psf_models.psf_model_semiparametric.tf_semiparam_field method)": [[20, "wf_psf.psf_models.psf_model_semiparametric.TF_SemiParam_field.set_trainable_layers"]], "set_zero_nonparam() (wf_psf.psf_models.psf_model_semiparametric.tf_semiparam_field method)": [[20, "wf_psf.psf_models.psf_model_semiparametric.TF_SemiParam_field.set_zero_nonparam"]], "wf_psf.psf_models.psf_model_semiparametric": [[20, "module-wf_psf.psf_models.psf_model_semiparametric"]], "psfmodelerror": [[21, "wf_psf.psf_models.psf_models.PsfModelError"]], "get_psf_model() (in module wf_psf.psf_models.psf_models)": [[21, "wf_psf.psf_models.psf_models.get_psf_model"]], "register_psfclass() (in module wf_psf.psf_models.psf_models)": [[21, "wf_psf.psf_models.psf_models.register_psfclass"]], "set_psf_model() (in module wf_psf.psf_models.psf_models)": [[21, "wf_psf.psf_models.psf_models.set_psf_model"]], "simpsf() (in module wf_psf.psf_models.psf_models)": [[21, "wf_psf.psf_models.psf_models.simPSF"]], "tf_obscurations() (in module wf_psf.psf_models.psf_models)": [[21, "wf_psf.psf_models.psf_models.tf_obscurations"]], "tf_zernike_cube() (in module wf_psf.psf_models.psf_models)": [[21, "wf_psf.psf_models.psf_models.tf_zernike_cube"]], "wf_psf.psf_models.psf_models": [[21, "module-wf_psf.psf_models.psf_models"]], "old_tf_batch_poly_psf (class in wf_psf.psf_models.tf_layers)": [[22, "wf_psf.psf_models.tf_layers.OLD_TF_batch_poly_PSF"]], "tf_np_graph_opd (class in wf_psf.psf_models.tf_layers)": [[22, "wf_psf.psf_models.tf_layers.TF_NP_GRAPH_OPD"]], "tf_np_mccd_opd_v2 (class in wf_psf.psf_models.tf_layers)": [[22, "wf_psf.psf_models.tf_layers.TF_NP_MCCD_OPD_v2"]], "tf_np_poly_opd (class in wf_psf.psf_models.tf_layers)": [[22, "wf_psf.psf_models.tf_layers.TF_NP_poly_OPD"]], "tf_batch_mono_psf (class in wf_psf.psf_models.tf_layers)": [[22, "wf_psf.psf_models.tf_layers.TF_batch_mono_PSF"]], "tf_batch_poly_psf (class in wf_psf.psf_models.tf_layers)": [[22, "wf_psf.psf_models.tf_layers.TF_batch_poly_PSF"]], "tf_physical_layer (class in wf_psf.psf_models.tf_layers)": [[22, "wf_psf.psf_models.tf_layers.TF_physical_layer"]], "tf_poly_z_field (class in wf_psf.psf_models.tf_layers)": [[22, "wf_psf.psf_models.tf_layers.TF_poly_Z_field"]], "tf_zernike_opd (class in wf_psf.psf_models.tf_layers)": [[22, "wf_psf.psf_models.tf_layers.TF_zernike_OPD"]], "assign_s_mat() (wf_psf.psf_models.tf_layers.tf_np_poly_opd method)": [[22, "wf_psf.psf_models.tf_layers.TF_NP_poly_OPD.assign_S_mat"]], "assign_coeff_matrix() (wf_psf.psf_models.tf_layers.tf_poly_z_field method)": [[22, "wf_psf.psf_models.tf_layers.TF_poly_Z_field.assign_coeff_matrix"]], "calculate_mono_psf() (wf_psf.psf_models.tf_layers.old_tf_batch_poly_psf method)": [[22, "wf_psf.psf_models.tf_layers.OLD_TF_batch_poly_PSF.calculate_mono_PSF"]], "calculate_mono_psf() (wf_psf.psf_models.tf_layers.tf_batch_mono_psf method)": [[22, "wf_psf.psf_models.tf_layers.TF_batch_mono_PSF.calculate_mono_PSF"]], "calculate_mono_psf() (wf_psf.psf_models.tf_layers.tf_batch_poly_psf method)": [[22, "wf_psf.psf_models.tf_layers.TF_batch_poly_PSF.calculate_mono_PSF"]], "calculate_poly_psf() (wf_psf.psf_models.tf_layers.old_tf_batch_poly_psf method)": [[22, "wf_psf.psf_models.tf_layers.OLD_TF_batch_poly_PSF.calculate_poly_PSF"]], "calculate_poly_psf() (wf_psf.psf_models.tf_layers.tf_batch_poly_psf method)": [[22, "wf_psf.psf_models.tf_layers.TF_batch_poly_PSF.calculate_poly_PSF"]], "call() (wf_psf.psf_models.tf_layers.old_tf_batch_poly_psf method)": [[22, "wf_psf.psf_models.tf_layers.OLD_TF_batch_poly_PSF.call"]], "call() (wf_psf.psf_models.tf_layers.tf_np_graph_opd method)": [[22, "wf_psf.psf_models.tf_layers.TF_NP_GRAPH_OPD.call"]], "call() (wf_psf.psf_models.tf_layers.tf_np_mccd_opd_v2 method)": [[22, "wf_psf.psf_models.tf_layers.TF_NP_MCCD_OPD_v2.call"]], "call() (wf_psf.psf_models.tf_layers.tf_np_poly_opd method)": [[22, "wf_psf.psf_models.tf_layers.TF_NP_poly_OPD.call"]], "call() (wf_psf.psf_models.tf_layers.tf_batch_mono_psf method)": [[22, "wf_psf.psf_models.tf_layers.TF_batch_mono_PSF.call"]], "call() (wf_psf.psf_models.tf_layers.tf_batch_poly_psf method)": [[22, "wf_psf.psf_models.tf_layers.TF_batch_poly_PSF.call"]], "call() (wf_psf.psf_models.tf_layers.tf_physical_layer method)": [[22, "wf_psf.psf_models.tf_layers.TF_physical_layer.call"]], "call() (wf_psf.psf_models.tf_layers.tf_poly_z_field method)": [[22, "wf_psf.psf_models.tf_layers.TF_poly_Z_field.call"]], "call() (wf_psf.psf_models.tf_layers.tf_zernike_opd method)": [[22, "wf_psf.psf_models.tf_layers.TF_zernike_OPD.call"]], "get_coeff_matrix() (wf_psf.psf_models.tf_layers.tf_poly_z_field method)": [[22, "wf_psf.psf_models.tf_layers.TF_poly_Z_field.get_coeff_matrix"]], "get_poly_coefficients_shape() (wf_psf.psf_models.tf_layers.tf_poly_z_field method)": [[22, "wf_psf.psf_models.tf_layers.TF_poly_Z_field.get_poly_coefficients_shape"]], "init_coeff_matrix() (wf_psf.psf_models.tf_layers.tf_poly_z_field method)": [[22, "wf_psf.psf_models.tf_layers.TF_poly_Z_field.init_coeff_matrix"]], "init_mono_psf() (wf_psf.psf_models.tf_layers.tf_batch_mono_psf method)": [[22, "wf_psf.psf_models.tf_layers.TF_batch_mono_PSF.init_mono_PSF"]], "init_vars() (wf_psf.psf_models.tf_layers.tf_np_graph_opd method)": [[22, "wf_psf.psf_models.tf_layers.TF_NP_GRAPH_OPD.init_vars"]], "init_vars() (wf_psf.psf_models.tf_layers.tf_np_mccd_opd_v2 method)": [[22, "wf_psf.psf_models.tf_layers.TF_NP_MCCD_OPD_v2.init_vars"]], "init_vars() (wf_psf.psf_models.tf_layers.tf_np_poly_opd method)": [[22, "wf_psf.psf_models.tf_layers.TF_NP_poly_OPD.init_vars"]], "interpolate_all() (wf_psf.psf_models.tf_layers.tf_physical_layer method)": [[22, "wf_psf.psf_models.tf_layers.TF_physical_layer.interpolate_all"]], "interpolate_independent_zk() (wf_psf.psf_models.tf_layers.tf_physical_layer method)": [[22, "wf_psf.psf_models.tf_layers.TF_physical_layer.interpolate_independent_Zk"]], "interpolate_top_k() (wf_psf.psf_models.tf_layers.tf_physical_layer method)": [[22, "wf_psf.psf_models.tf_layers.TF_physical_layer.interpolate_top_K"]], "predict() (wf_psf.psf_models.tf_layers.tf_np_graph_opd method)": [[22, "wf_psf.psf_models.tf_layers.TF_NP_GRAPH_OPD.predict"]], "predict() (wf_psf.psf_models.tf_layers.tf_np_mccd_opd_v2 method)": [[22, "wf_psf.psf_models.tf_layers.TF_NP_MCCD_OPD_v2.predict"]], "set_alpha_identity() (wf_psf.psf_models.tf_layers.tf_np_graph_opd method)": [[22, "wf_psf.psf_models.tf_layers.TF_NP_GRAPH_OPD.set_alpha_identity"]], "set_alpha_identity() (wf_psf.psf_models.tf_layers.tf_np_mccd_opd_v2 method)": [[22, "wf_psf.psf_models.tf_layers.TF_NP_MCCD_OPD_v2.set_alpha_identity"]], "set_alpha_identity() (wf_psf.psf_models.tf_layers.tf_np_poly_opd method)": [[22, "wf_psf.psf_models.tf_layers.TF_NP_poly_OPD.set_alpha_identity"]], "set_alpha_zero() (wf_psf.psf_models.tf_layers.tf_np_graph_opd method)": [[22, "wf_psf.psf_models.tf_layers.TF_NP_GRAPH_OPD.set_alpha_zero"]], "set_alpha_zero() (wf_psf.psf_models.tf_layers.tf_np_mccd_opd_v2 method)": [[22, "wf_psf.psf_models.tf_layers.TF_NP_MCCD_OPD_v2.set_alpha_zero"]], "set_alpha_zero() (wf_psf.psf_models.tf_layers.tf_np_poly_opd method)": [[22, "wf_psf.psf_models.tf_layers.TF_NP_poly_OPD.set_alpha_zero"]], "set_lambda_phasen() (wf_psf.psf_models.tf_layers.tf_batch_mono_psf method)": [[22, "wf_psf.psf_models.tf_layers.TF_batch_mono_PSF.set_lambda_phaseN"]], "set_output_params() (wf_psf.psf_models.tf_layers.tf_batch_mono_psf method)": [[22, "wf_psf.psf_models.tf_layers.TF_batch_mono_PSF.set_output_params"]], "set_psf_batch() (wf_psf.psf_models.tf_layers.old_tf_batch_poly_psf method)": [[22, "wf_psf.psf_models.tf_layers.OLD_TF_batch_poly_PSF.set_psf_batch"]], "wf_psf.psf_models.tf_layers": [[22, "module-wf_psf.psf_models.tf_layers"]], "tf_zernike_mono_psf (class in wf_psf.psf_models.tf_modules)": [[23, "wf_psf.psf_models.tf_modules.TF_Zernike_mono_PSF"]], "tf_build_phase (class in wf_psf.psf_models.tf_modules)": [[23, "wf_psf.psf_models.tf_modules.TF_build_phase"]], "tf_fft_diffract (class in wf_psf.psf_models.tf_modules)": [[23, "wf_psf.psf_models.tf_modules.TF_fft_diffract"]], "tf_mono_psf (class in wf_psf.psf_models.tf_modules)": [[23, "wf_psf.psf_models.tf_modules.TF_mono_PSF"]], "tf_zernike_opd (class in wf_psf.psf_models.tf_modules)": [[23, "wf_psf.psf_models.tf_modules.TF_zernike_OPD"]], "apply_obscurations() (wf_psf.psf_models.tf_modules.tf_build_phase method)": [[23, "wf_psf.psf_models.tf_modules.TF_build_phase.apply_obscurations"]], "crop_img() (wf_psf.psf_models.tf_modules.tf_fft_diffract method)": [[23, "wf_psf.psf_models.tf_modules.TF_fft_diffract.crop_img"]], "normalize_psf() (wf_psf.psf_models.tf_modules.tf_fft_diffract method)": [[23, "wf_psf.psf_models.tf_modules.TF_fft_diffract.normalize_psf"]], "opd_to_phase() (wf_psf.psf_models.tf_modules.tf_build_phase method)": [[23, "wf_psf.psf_models.tf_modules.TF_build_phase.opd_to_phase"]], "tf_crop_img() (wf_psf.psf_models.tf_modules.tf_fft_diffract method)": [[23, "wf_psf.psf_models.tf_modules.TF_fft_diffract.tf_crop_img"]], "wf_psf.psf_models.tf_modules": [[23, "module-wf_psf.psf_models.tf_modules"]], "zero_padding_diffraction() (wf_psf.psf_models.tf_modules.tf_build_phase method)": [[23, "wf_psf.psf_models.tf_modules.TF_build_phase.zero_padding_diffraction"]], "tf_gt_physical_field (class in wf_psf.psf_models.tf_psf_field)": [[24, "wf_psf.psf_models.tf_psf_field.TF_GT_physical_field"]], "tf_psf_field_model (class in wf_psf.psf_models.tf_psf_field)": [[24, "wf_psf.psf_models.tf_psf_field.TF_PSF_field_model"]], "tf_semiparam_field (class in wf_psf.psf_models.tf_psf_field)": [[24, "wf_psf.psf_models.tf_psf_field.TF_SemiParam_field"]], "tf_physical_poly_field (class in wf_psf.psf_models.tf_psf_field)": [[24, "wf_psf.psf_models.tf_psf_field.TF_physical_poly_field"]], "assign_s_mat() (wf_psf.psf_models.tf_psf_field.tf_semiparam_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_SemiParam_field.assign_S_mat"]], "assign_coeff_matrix() (wf_psf.psf_models.tf_psf_field.tf_psf_field_model method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_PSF_field_model.assign_coeff_matrix"]], "assign_coeff_matrix() (wf_psf.psf_models.tf_psf_field.tf_semiparam_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_SemiParam_field.assign_coeff_matrix"]], "assign_coeff_matrix() (wf_psf.psf_models.tf_psf_field.tf_physical_poly_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_physical_poly_field.assign_coeff_matrix"]], "build_psf_model() (in module wf_psf.psf_models.tf_psf_field)": [[24, "wf_psf.psf_models.tf_psf_field.build_PSF_model"]], "call() (wf_psf.psf_models.tf_psf_field.tf_gt_physical_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_GT_physical_field.call"]], "call() (wf_psf.psf_models.tf_psf_field.tf_psf_field_model method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_PSF_field_model.call"]], "call() (wf_psf.psf_models.tf_psf_field.tf_semiparam_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_SemiParam_field.call"]], "call() (wf_psf.psf_models.tf_psf_field.tf_physical_poly_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_physical_poly_field.call"]], "compute_zernikes() (wf_psf.psf_models.tf_psf_field.tf_gt_physical_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_GT_physical_field.compute_zernikes"]], "compute_zernikes() (wf_psf.psf_models.tf_psf_field.tf_physical_poly_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_physical_poly_field.compute_zernikes"]], "get_coeff_matrix() (wf_psf.psf_models.tf_psf_field.tf_psf_field_model method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_PSF_field_model.get_coeff_matrix"]], "get_coeff_matrix() (wf_psf.psf_models.tf_psf_field.tf_semiparam_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_SemiParam_field.get_coeff_matrix"]], "get_coeff_matrix() (wf_psf.psf_models.tf_psf_field.tf_physical_poly_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_physical_poly_field.get_coeff_matrix"]], "predict_mono_psfs() (wf_psf.psf_models.tf_psf_field.tf_gt_physical_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_GT_physical_field.predict_mono_psfs"]], "predict_mono_psfs() (wf_psf.psf_models.tf_psf_field.tf_psf_field_model method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_PSF_field_model.predict_mono_psfs"]], "predict_mono_psfs() (wf_psf.psf_models.tf_psf_field.tf_semiparam_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_SemiParam_field.predict_mono_psfs"]], "predict_mono_psfs() (wf_psf.psf_models.tf_psf_field.tf_physical_poly_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_physical_poly_field.predict_mono_psfs"]], "predict_opd() (wf_psf.psf_models.tf_psf_field.tf_gt_physical_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_GT_physical_field.predict_opd"]], "predict_opd() (wf_psf.psf_models.tf_psf_field.tf_psf_field_model method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_PSF_field_model.predict_opd"]], "predict_opd() (wf_psf.psf_models.tf_psf_field.tf_semiparam_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_SemiParam_field.predict_opd"]], "predict_opd() (wf_psf.psf_models.tf_psf_field.tf_physical_poly_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_physical_poly_field.predict_opd"]], "predict_step() (wf_psf.psf_models.tf_psf_field.tf_gt_physical_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_GT_physical_field.predict_step"]], "predict_step() (wf_psf.psf_models.tf_psf_field.tf_physical_poly_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_physical_poly_field.predict_step"]], "predict_zernikes() (wf_psf.psf_models.tf_psf_field.tf_gt_physical_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_GT_physical_field.predict_zernikes"]], "predict_zernikes() (wf_psf.psf_models.tf_psf_field.tf_physical_poly_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_physical_poly_field.predict_zernikes"]], "project_dd_features() (wf_psf.psf_models.tf_psf_field.tf_semiparam_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_SemiParam_field.project_DD_features"]], "set_nonzero_nonparam() (wf_psf.psf_models.tf_psf_field.tf_semiparam_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_SemiParam_field.set_nonzero_nonparam"]], "set_nonzero_nonparam() (wf_psf.psf_models.tf_psf_field.tf_physical_poly_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_physical_poly_field.set_nonzero_nonparam"]], "set_output_q() (wf_psf.psf_models.tf_psf_field.tf_gt_physical_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_GT_physical_field.set_output_Q"]], "set_output_q() (wf_psf.psf_models.tf_psf_field.tf_psf_field_model method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_PSF_field_model.set_output_Q"]], "set_output_q() (wf_psf.psf_models.tf_psf_field.tf_semiparam_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_SemiParam_field.set_output_Q"]], "set_output_q() (wf_psf.psf_models.tf_psf_field.tf_physical_poly_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_physical_poly_field.set_output_Q"]], "set_trainable_layers() (wf_psf.psf_models.tf_psf_field.tf_semiparam_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_SemiParam_field.set_trainable_layers"]], "set_trainable_layers() (wf_psf.psf_models.tf_psf_field.tf_physical_poly_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_physical_poly_field.set_trainable_layers"]], "set_zero_nonparam() (wf_psf.psf_models.tf_psf_field.tf_semiparam_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_SemiParam_field.set_zero_nonparam"]], "set_zero_nonparam() (wf_psf.psf_models.tf_psf_field.tf_physical_poly_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_physical_poly_field.set_zero_nonparam"]], "wf_psf.psf_models.tf_psf_field": [[24, "module-wf_psf.psf_models.tf_psf_field"]], "zks_pad() (wf_psf.psf_models.tf_psf_field.tf_physical_poly_field method)": [[24, "wf_psf.psf_models.tf_psf_field.TF_physical_poly_field.zks_pad"]], "wf_psf.psf_models.zernikes": [[25, "module-wf_psf.psf_models.zernikes"]], "zernike_generator() (in module wf_psf.psf_models.zernikes)": [[25, "wf_psf.psf_models.zernikes.zernike_generator"]], "mainmethod() (in module wf_psf.run)": [[26, "wf_psf.run.mainMethod"]], "setprogramoptions() (in module wf_psf.run)": [[26, "wf_psf.run.setProgramOptions"]], "wf_psf.run": [[26, "module-wf_psf.run"]], "wf_psf.sims": [[27, "module-wf_psf.sims"]], "sed_gen_noise() (wf_psf.sims.simpsftoolkit.simpsftoolkit static method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.SED_gen_noise"]], "simpsftoolkit (class in wf_psf.sims.simpsftoolkit)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit"]], "calc_sed_wave_values() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.calc_SED_wave_values"]], "calculate_opd() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.calculate_opd"]], "calculate_wfe_rms() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.calculate_wfe_rms"]], "check_wfe_rms() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.check_wfe_rms"]], "crop_img() (wf_psf.sims.simpsftoolkit.simpsftoolkit static method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.crop_img"]], "decimate_im() (wf_psf.sims.simpsftoolkit.simpsftoolkit static method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.decimate_im"]], "diffract_phase() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.diffract_phase"]], "feasible_n() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.feasible_N"]], "feasible_wavelength() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.feasible_wavelength"]], "fft_diffract() (wf_psf.sims.simpsftoolkit.simpsftoolkit static method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.fft_diffract"]], "filter_sed() (wf_psf.sims.simpsftoolkit.simpsftoolkit static method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.filter_SED"]], "gen_sed_interp() (wf_psf.sims.simpsftoolkit.simpsftoolkit static method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.gen_SED_interp"]], "gen_sed_sampler() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.gen_SED_sampler"]], "gen_random_z_coeffs() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.gen_random_Z_coeffs"]], "generate_mono_psf() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.generate_mono_PSF"]], "generate_poly_psf() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.generate_poly_PSF"]], "generate_pupil_obscurations() (wf_psf.sims.simpsftoolkit.simpsftoolkit static method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.generate_pupil_obscurations"]], "get_psf() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.get_psf"]], "get_radial_idx() (wf_psf.sims.simpsftoolkit.simpsftoolkit static method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.get_radial_idx"]], "get_z_coeffs() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.get_z_coeffs"]], "interp_sed() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.interp_SED"]], "normalize_zernikes() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.normalize_zernikes"]], "opd_phase_plotter() (wf_psf.sims.simpsftoolkit.simpsftoolkit static method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.opd_phase_plotter"]], "plot_opd_phase() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.plot_opd_phase"]], "plot_psf() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.plot_psf"]], "plot_z_coeffs() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.plot_z_coeffs"]], "psf_plotter() (wf_psf.sims.simpsftoolkit.simpsftoolkit static method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.psf_plotter"]], "resize() (in module wf_psf.sims.simpsftoolkit)": [[28, "wf_psf.sims.SimPSFToolkit.resize"]], "set_z_coeffs() (wf_psf.sims.simpsftoolkit.simpsftoolkit method)": [[28, "wf_psf.sims.SimPSFToolkit.SimPSFToolkit.set_z_coeffs"]], "wf_psf.sims.simpsftoolkit": [[28, "module-wf_psf.sims.SimPSFToolkit"]], "wf_psf.training": [[29, "module-wf_psf.training"]], "trainingparamshandler (class in wf_psf.training.train)": [[30, "wf_psf.training.train.TrainingParamsHandler"]], "filepath_chkp_callback() (in module wf_psf.training.train)": [[30, "wf_psf.training.train.filepath_chkp_callback"]], "get_gpu_info() (in module wf_psf.training.train)": [[30, "wf_psf.training.train.get_gpu_info"]], "id_name (wf_psf.training.train.trainingparamshandler property)": [[30, "wf_psf.training.train.TrainingParamsHandler.id_name"]], "learning_rate_non_params (wf_psf.training.train.trainingparamshandler property)": [[30, "wf_psf.training.train.TrainingParamsHandler.learning_rate_non_params"]], "learning_rate_params (wf_psf.training.train.trainingparamshandler property)": [[30, "wf_psf.training.train.TrainingParamsHandler.learning_rate_params"]], "model_name (wf_psf.training.train.trainingparamshandler property)": [[30, "wf_psf.training.train.TrainingParamsHandler.model_name"]], "model_params (wf_psf.training.train.trainingparamshandler property)": [[30, "wf_psf.training.train.TrainingParamsHandler.model_params"]], "multi_cycle_params (wf_psf.training.train.trainingparamshandler property)": [[30, "wf_psf.training.train.TrainingParamsHandler.multi_cycle_params"]], "n_epochs_non_params (wf_psf.training.train.trainingparamshandler property)": [[30, "wf_psf.training.train.TrainingParamsHandler.n_epochs_non_params"]], "n_epochs_params (wf_psf.training.train.trainingparamshandler property)": [[30, "wf_psf.training.train.TrainingParamsHandler.n_epochs_params"]], "setup_training() (in module wf_psf.training.train)": [[30, "wf_psf.training.train.setup_training"]], "total_cycles (wf_psf.training.train.trainingparamshandler property)": [[30, "wf_psf.training.train.TrainingParamsHandler.total_cycles"]], "train() (in module wf_psf.training.train)": [[30, "wf_psf.training.train.train"]], "training_hparams (wf_psf.training.train.trainingparamshandler property)": [[30, "wf_psf.training.train.TrainingParamsHandler.training_hparams"]], "wf_psf.training.train": [[30, "module-wf_psf.training.train"]], "l1paramscheduler (class in wf_psf.training.train_utils)": [[31, "wf_psf.training.train_utils.L1ParamScheduler"]], "general_train_cycle() (in module wf_psf.training.train_utils)": [[31, "wf_psf.training.train_utils.general_train_cycle"]], "l1_schedule_rule() (in module wf_psf.training.train_utils)": [[31, "wf_psf.training.train_utils.l1_schedule_rule"]], "on_epoch_begin() (wf_psf.training.train_utils.l1paramscheduler method)": [[31, "wf_psf.training.train_utils.L1ParamScheduler.on_epoch_begin"]], "param_train_cycle() (in module wf_psf.training.train_utils)": [[31, "wf_psf.training.train_utils.param_train_cycle"]], "wf_psf.training.train_utils": [[31, "module-wf_psf.training.train_utils"]], "wf_psf.utils": [[32, "module-wf_psf.utils"]], "dataconfighandler (class in wf_psf.utils.configs_handler)": [[33, "wf_psf.utils.configs_handler.DataConfigHandler"]], "metricsconfighandler (class in wf_psf.utils.configs_handler)": [[33, "wf_psf.utils.configs_handler.MetricsConfigHandler"]], "plottingconfighandler (class in wf_psf.utils.configs_handler)": [[33, "wf_psf.utils.configs_handler.PlottingConfigHandler"]], "trainingconfighandler (class in wf_psf.utils.configs_handler)": [[33, "wf_psf.utils.configs_handler.TrainingConfigHandler"]], "call_plot_config_handler_run() (wf_psf.utils.configs_handler.metricsconfighandler method)": [[33, "wf_psf.utils.configs_handler.MetricsConfigHandler.call_plot_config_handler_run"]], "check_and_update_metrics_confs() (wf_psf.utils.configs_handler.plottingconfighandler method)": [[33, "wf_psf.utils.configs_handler.PlottingConfigHandler.check_and_update_metrics_confs"]], "get_psf_model_weights_filepath() (wf_psf.utils.configs_handler.metricsconfighandler method)": [[33, "wf_psf.utils.configs_handler.MetricsConfigHandler.get_psf_model_weights_filepath"]], "get_run_config() (in module wf_psf.utils.configs_handler)": [[33, "wf_psf.utils.configs_handler.get_run_config"]], "ids (wf_psf.utils.configs_handler.metricsconfighandler attribute)": [[33, "wf_psf.utils.configs_handler.MetricsConfigHandler.ids"]], "ids (wf_psf.utils.configs_handler.plottingconfighandler attribute)": [[33, "wf_psf.utils.configs_handler.PlottingConfigHandler.ids"]], "ids (wf_psf.utils.configs_handler.trainingconfighandler attribute)": [[33, "wf_psf.utils.configs_handler.TrainingConfigHandler.ids"]], "load_metrics_into_dict() (wf_psf.utils.configs_handler.plottingconfighandler method)": [[33, "wf_psf.utils.configs_handler.PlottingConfigHandler.load_metrics_into_dict"]], "make_dict_of_metrics() (wf_psf.utils.configs_handler.plottingconfighandler method)": [[33, "wf_psf.utils.configs_handler.PlottingConfigHandler.make_dict_of_metrics"]], "register_configclass() (in module wf_psf.utils.configs_handler)": [[33, "wf_psf.utils.configs_handler.register_configclass"]], "run() (wf_psf.utils.configs_handler.metricsconfighandler method)": [[33, "wf_psf.utils.configs_handler.MetricsConfigHandler.run"]], "run() (wf_psf.utils.configs_handler.plottingconfighandler method)": [[33, "wf_psf.utils.configs_handler.PlottingConfigHandler.run"]], "run() (wf_psf.utils.configs_handler.trainingconfighandler method)": [[33, "wf_psf.utils.configs_handler.TrainingConfigHandler.run"]], "set_run_config() (in module wf_psf.utils.configs_handler)": [[33, "wf_psf.utils.configs_handler.set_run_config"]], "wf_psf.utils.configs_handler": [[33, "module-wf_psf.utils.configs_handler"]], "graphbuilder (class in wf_psf.utils.graph_utils)": [[34, "wf_psf.utils.graph_utils.GraphBuilder"]], "gen_pea() (in module wf_psf.utils.graph_utils)": [[34, "wf_psf.utils.graph_utils.gen_Pea"]], "gen_eigenvects() (wf_psf.utils.graph_utils.graphbuilder method)": [[34, "wf_psf.utils.graph_utils.GraphBuilder.gen_eigenvects"]], "pairwise_distances() (in module wf_psf.utils.graph_utils)": [[34, "wf_psf.utils.graph_utils.pairwise_distances"]], "pick_emax() (wf_psf.utils.graph_utils.graphbuilder method)": [[34, "wf_psf.utils.graph_utils.GraphBuilder.pick_emax"]], "select_params() (wf_psf.utils.graph_utils.graphbuilder method)": [[34, "wf_psf.utils.graph_utils.GraphBuilder.select_params"]], "select_vstar() (in module wf_psf.utils.graph_utils)": [[34, "wf_psf.utils.graph_utils.select_vstar"]], "wf_psf.utils.graph_utils": [[34, "module-wf_psf.utils.graph_utils"]], "fileiohandler (class in wf_psf.utils.io)": [[35, "wf_psf.utils.io.FileIOHandler"]], "copy_conffile_to_output_dir() (wf_psf.utils.io.fileiohandler method)": [[35, "wf_psf.utils.io.FileIOHandler.copy_conffile_to_output_dir"]], "get_checkpoint_dir() (wf_psf.utils.io.fileiohandler method)": [[35, "wf_psf.utils.io.FileIOHandler.get_checkpoint_dir"]], "get_config_dir() (wf_psf.utils.io.fileiohandler method)": [[35, "wf_psf.utils.io.FileIOHandler.get_config_dir"]], "get_metrics_dir() (wf_psf.utils.io.fileiohandler method)": [[35, "wf_psf.utils.io.FileIOHandler.get_metrics_dir"]], "get_optimizer_dir() (wf_psf.utils.io.fileiohandler method)": [[35, "wf_psf.utils.io.FileIOHandler.get_optimizer_dir"]], "get_plots_dir() (wf_psf.utils.io.fileiohandler method)": [[35, "wf_psf.utils.io.FileIOHandler.get_plots_dir"]], "get_psf_model_dir() (wf_psf.utils.io.fileiohandler method)": [[35, "wf_psf.utils.io.FileIOHandler.get_psf_model_dir"]], "get_timestamp() (wf_psf.utils.io.fileiohandler method)": [[35, "wf_psf.utils.io.FileIOHandler.get_timestamp"]], "setup_outputs() (wf_psf.utils.io.fileiohandler method)": [[35, "wf_psf.utils.io.FileIOHandler.setup_outputs"]], "wf_psf.utils.io": [[35, "module-wf_psf.utils.io"]], "recursivenamespace (class in wf_psf.utils.read_config)": [[36, "wf_psf.utils.read_config.RecursiveNamespace"]], "map_entry() (wf_psf.utils.read_config.recursivenamespace static method)": [[36, "wf_psf.utils.read_config.RecursiveNamespace.map_entry"]], "read_conf() (in module wf_psf.utils.read_config)": [[36, "wf_psf.utils.read_config.read_conf"]], "read_stream() (in module wf_psf.utils.read_config)": [[36, "wf_psf.utils.read_config.read_stream"]], "read_yaml() (in module wf_psf.utils.read_config)": [[36, "wf_psf.utils.read_config.read_yaml"]], "wf_psf.utils.read_config": [[36, "module-wf_psf.utils.read_config"]], "independentzernikeinterpolation (class in wf_psf.utils.utils)": [[37, "wf_psf.utils.utils.IndependentZernikeInterpolation"]], "noiseestimator (class in wf_psf.utils.utils)": [[37, "wf_psf.utils.utils.NoiseEstimator"]], "pi_zernikes() (in module wf_psf.utils.utils)": [[37, "wf_psf.utils.utils.PI_zernikes"]], "zernikeinterpolation (class in wf_psf.utils.utils)": [[37, "wf_psf.utils.utils.ZernikeInterpolation"]], "add_noise() (in module wf_psf.utils.utils)": [[37, "wf_psf.utils.utils.add_noise"]], "calc_poly_position_mat() (in module wf_psf.utils.utils)": [[37, "wf_psf.utils.utils.calc_poly_position_mat"]], "calc_wfe() (in module wf_psf.utils.utils)": [[37, "wf_psf.utils.utils.calc_wfe"]], "calc_wfe_rms() (in module wf_psf.utils.utils)": [[37, "wf_psf.utils.utils.calc_wfe_rms"]], "convert_to_tf() (in module wf_psf.utils.utils)": [[37, "wf_psf.utils.utils.convert_to_tf"]], "decimate_im() (in module wf_psf.utils.utils)": [[37, "wf_psf.utils.utils.decimate_im"]], "downsample_im() (in module wf_psf.utils.utils)": [[37, "wf_psf.utils.utils.downsample_im"]], "estimate_noise() (wf_psf.utils.utils.noiseestimator method)": [[37, "wf_psf.utils.utils.NoiseEstimator.estimate_noise"]], "generate_sed_elems() (in module wf_psf.utils.utils)": [[37, "wf_psf.utils.utils.generate_SED_elems"]], "generate_sed_elems_in_tensorflow() (in module wf_psf.utils.utils)": [[37, "wf_psf.utils.utils.generate_SED_elems_in_tensorflow"]], "generate_packed_elems() (in module wf_psf.utils.utils)": [[37, "wf_psf.utils.utils.generate_packed_elems"]], "interp_one_zk() (wf_psf.utils.utils.independentzernikeinterpolation method)": [[37, "wf_psf.utils.utils.IndependentZernikeInterpolation.interp_one_zk"]], "interpolate_zk() (wf_psf.utils.utils.zernikeinterpolation method)": [[37, "wf_psf.utils.utils.ZernikeInterpolation.interpolate_zk"]], "interpolate_zks() (wf_psf.utils.utils.independentzernikeinterpolation method)": [[37, "wf_psf.utils.utils.IndependentZernikeInterpolation.interpolate_zks"]], "interpolate_zks() (wf_psf.utils.utils.zernikeinterpolation method)": [[37, "wf_psf.utils.utils.ZernikeInterpolation.interpolate_zks"]], "load_multi_cycle_params_click() (in module wf_psf.utils.utils)": [[37, "wf_psf.utils.utils.load_multi_cycle_params_click"]], "resize() (in module wf_psf.utils.utils)": [[37, "wf_psf.utils.utils.resize"]], "scale_to_range() (in module wf_psf.utils.utils)": [[37, "wf_psf.utils.utils.scale_to_range"]], "sigma_mad() (wf_psf.utils.utils.noiseestimator static method)": [[37, "wf_psf.utils.utils.NoiseEstimator.sigma_mad"]], "wf_psf.utils.utils": [[37, "module-wf_psf.utils.utils"]], "zernike_generator() (in module wf_psf.utils.utils)": [[37, "wf_psf.utils.utils.zernike_generator"]]}})
\ No newline at end of file