Skip to content
Snippets Groups Projects
Commit ba641b0f authored by Karim Ahmed's avatar Karim Ahmed Committed by Karim Ahmed
Browse files

test rtd

parent 543d6d8e
No related branches found
No related tags found
1 merge request!820[Documentation] Introduce mkdocs and add new documentation pages
This diff is collapsed.
...@@ -39,7 +39,7 @@ either in an existing detector folder or into a new folder with the new detector ...@@ -39,7 +39,7 @@ either in an existing detector folder or into a new folder with the new detector
Give it a suffix `_NBC` to denote that it is enabled for the tool chain. Give it a suffix `_NBC` to denote that it is enabled for the tool chain.
You should then start writing your code following the guidelines You should then start writing your code following the guidelines
at [How to start writing calibration notebook](how_to_write_xfel_calibrate_notebook_NBC.md) at {TODO link to the notebook}
## Title and Author Information in `markdown` [First Cell] ## Title and Author Information in `markdown` [First Cell]
...@@ -308,7 +308,7 @@ is intelligible to people other than you. ...@@ -308,7 +308,7 @@ is intelligible to people other than you.
## Documenting ## Documenting
Most documentation should be done in the notebook itself. Any notebooks specified in the Most documentation should be done in the notebook itself. Any notebooks specified in the
`notebook.py` file will automatically show up in the [Available Notebooks](available_notebooks.md) section of this `notebook.py` file will automatically show up in the [Available Notebooks](../operation/available_notebooks.md) section of this
documentation. documentation.
......
...@@ -32,12 +32,12 @@ for path in sorted(Path("src").rglob("*.py")): ...@@ -32,12 +32,12 @@ for path in sorted(Path("src").rglob("*.py")):
print( print(
""" """
??? Note "This module help in skipping calibrationDBRemote" ??? Note "This module help in skipping calibrationDBRemote"
![Calibration DB Remote avoided](../xfel-calibrate_cli_process_no_caldbremote.png) ![Calibration DB Remote avoided](xfel-calibrate_cli_process_no_caldbremote.png)
""", """,
file=fd) file=fd)
print("::: " + "src." + identifier, file=fd) print("::: " + identifier, file=fd)
mkdocs_gen_files.set_edit_path(full_doc_path, path) mkdocs_gen_files.set_edit_path(full_doc_path, path)
with mkdocs_gen_files.open(f"reference/summary.md", "w") as nav_file: with mkdocs_gen_files.open(f"reference/SUMMARY.md", "w") as nav_file:
nav_file.writelines(nav.build_literate_nav()) nav_file.writelines(nav.build_literate_nav())
...@@ -17,7 +17,7 @@ The Calibration database is expected to be queried using: ...@@ -17,7 +17,7 @@ The Calibration database is expected to be queried using:
## CALCAT ## CALCAT
![image](./static/calcat/home_calcat.png) ![image](../static/calcat/home_calcat.png)
CALCAT can be accessed through <https://in.xfel.eu/calibration>. It CALCAT can be accessed through <https://in.xfel.eu/calibration>. It
consists of multiple definitions and metadata related to the stored consists of multiple definitions and metadata related to the stored
...@@ -47,7 +47,7 @@ pyCalibration within the context of the Calibration database. ...@@ -47,7 +47,7 @@ pyCalibration within the context of the Calibration database.
For example 3 Offsets injected in with 3 different creation time for For example 3 Offsets injected in with 3 different creation time for
AGIPD and the same parameter conditions are in the same CC list. AGIPD and the same parameter conditions are in the same CC list.
![image](./static/calcat/home_cc_calcat.png) ![image](../static/calcat/home_cc_calcat.png)
- Calibration Constant Version (CCV): CCVs are injected through time - Calibration Constant Version (CCV): CCVs are injected through time
into the database. Each CCV must have a list of parameter into the database. Each CCV must have a list of parameter
...@@ -55,16 +55,16 @@ pyCalibration within the context of the Calibration database. ...@@ -55,16 +55,16 @@ pyCalibration within the context of the Calibration database.
physical detector unit, the file path, and the dataset name to physical detector unit, the file path, and the dataset name to
access its data. access its data.
![image](./static/calcat/home_ccv_calcat.png) ![image](../static/calcat/home_ccv_calcat.png)
- Parameters conditions: The CC parameter conditions are decided by - Parameters conditions: The CC parameter conditions are decided by
detector experts because the CC\'s data would differ based on it. detector experts because the CC\'s data would differ based on it.
Some examples are memory cells, integration time, and bias voltage. Some examples are memory cells, integration time, and bias voltage.
![image](./static/calcat/home_conditions_calcat.png) ![image](../static/calcat/home_conditions_calcat.png)
- PDU: Physical detector unit is the physical name given by the manufacturer or detector experts to the detector module's hardware. This representation is very important to calibration, as it is only trace of the physical movement for the detector modules. - PDU: Physical detector unit is the physical name given by the manufacturer or detector experts to the detector module's hardware. This representation is very important to calibration, as it is only trace of the physical movement for the detector modules.
![image](./static/calcat/home_pdu_calcat.png) ![image](../static/calcat/home_pdu_calcat.png)
- Detector: A detector for CALCAT is based on a detector identifier - Detector: A detector for CALCAT is based on a detector identifier
name, which was based on the Karabo ID give for detector karabo name, which was based on the Karabo ID give for detector karabo
...@@ -72,7 +72,7 @@ pyCalibration within the context of the Calibration database. ...@@ -72,7 +72,7 @@ pyCalibration within the context of the Calibration database.
HED_IA1_JF500K1, or multiple modules like MID_DET_AGIPD1M-1, HED_IA1_JF500K1, or multiple modules like MID_DET_AGIPD1M-1,
FXE_DET_LPD1M-1, and SPB_IRDA_JF4M. FXE_DET_LPD1M-1, and SPB_IRDA_JF4M.
![image](./static/calcat/home_detectors_calcat.png) ![image](../static/calcat/home_detectors_calcat.png)
- Reports: pyCalibration's PDF reports are the main data - Reports: pyCalibration's PDF reports are the main data
visualization source for any calibration processing, either visualization source for any calibration processing, either
...@@ -81,7 +81,7 @@ pyCalibration within the context of the Calibration database. ...@@ -81,7 +81,7 @@ pyCalibration within the context of the Calibration database.
calibration constants. The paths for these reports are one injected calibration constants. The paths for these reports are one injected
metadata along with the calibration constant. metadata along with the calibration constant.
![image](./static/calcat/home_reports_calcat.png) ![image](../static/calcat/home_reports_calcat.png)
## Detector Mapping ## Detector Mapping
...@@ -91,12 +91,12 @@ Detector mapping is the operation of associating physical detector units ...@@ -91,12 +91,12 @@ Detector mapping is the operation of associating physical detector units
constants files) constants files)
<figure markdown> <figure markdown>
![AGIPD PDUs](static/detector_mapping/AGIPD_modules_pic.png){ align=left width="500" } ![AGIPD PDUs](../static/detector_mapping/AGIPD_modules_pic.png){ align=left width="500" }
<figcaption>AGIPD PDUs [AGIPD Nr. 315 = AGIPD_SIV1_AGIPDV11_M315]</figcaption> <figcaption>AGIPD PDUs [AGIPD Nr. 315 = AGIPD_SIV1_AGIPDV11_M315]</figcaption>
</figure> </figure>
<figure markdown> <figure markdown>
![JUNGFRAU PDU](static/detector_mapping/JUNGFRAU_PDU_pic.png){ align=left width="500" } ![JUNGFRAU PDU](../static/detector_mapping/JUNGFRAU_PDU_pic.png){ align=left width="500" }
<figcaption>JUNGFRAU PDU [Jungfrau Nr. 035 = Jungfrau_M035]</figcaption> <figcaption>JUNGFRAU PDU [Jungfrau Nr. 035 = Jungfrau_M035]</figcaption>
</figure> </figure>
...@@ -114,7 +114,7 @@ Updating the mapping immediately after making any hardware modifications is cruc ...@@ -114,7 +114,7 @@ Updating the mapping immediately after making any hardware modifications is cruc
### History of Detector mapping ### History of Detector mapping
![Screenshot from iCalibrationDB](static/detector_mapping/icalibrationdb_agipd_det_mapping.png){ align=right width=200 height=350} ![Screenshot from iCalibrationDB](../static/detector_mapping/icalibrationdb_agipd_det_mapping.png){ align=right width=200 height=350}
In the beginning, detector mapping was designed to be hard coded in [iCalibrationDB](https://git.xfel.eu/detectors/cal_db_interactive). It is an interface package to [CalibrationDBRemote](https://git.xfel.eu/karaboDevices/calibrationDBRemote) and CALCAT. In the beginning, detector mapping was designed to be hard coded in [iCalibrationDB](https://git.xfel.eu/detectors/cal_db_interactive). It is an interface package to [CalibrationDBRemote](https://git.xfel.eu/karaboDevices/calibrationDBRemote) and CALCAT.
......
...@@ -5,7 +5,7 @@ European XFEL Data Portal is provided by myMdC, allowing users to access the met ...@@ -5,7 +5,7 @@ European XFEL Data Portal is provided by myMdC, allowing users to access the met
myMDC stands for Metadata Catalog. It arranges the facility's data into proposals. Each proposal consists of a number of acquired runs. Offline calibration only works with runs set to Good `Run Quality`, which means it was migrated from the online cluster to `gpfs`. myMDC stands for Metadata Catalog. It arranges the facility's data into proposals. Each proposal consists of a number of acquired runs. Offline calibration only works with runs set to Good `Run Quality`, which means it was migrated from the online cluster to `gpfs`.
Through myMDC users can request to correct migrated runs. Additionaly, users can trigger dark calibration constants generation detector data. Through myMDC users can request to correct migrated runs. Additionally, users can trigger dark calibration constants generation detector data.
## Proposals ## Proposals
...@@ -27,7 +27,7 @@ The most relevant properties are: ...@@ -27,7 +27,7 @@ The most relevant properties are:
## Triggering offline correction ## Triggering offline correction
![Trigger correction](static/myMDC/correction.png) ![Trigger correction](../static/myMDC/correction.png)
Through the `Runs` page, one can trigger offline correction with the right proposal access. This screenshot shows a sample from the `Runs` page for the test proposal 900203. Through the `Runs` page, one can trigger offline correction with the right proposal access. This screenshot shows a sample from the `Runs` page for the test proposal 900203.
...@@ -44,10 +44,10 @@ The main important columns in the `Runs` page are: ...@@ -44,10 +44,10 @@ The main important columns in the `Runs` page are:
Dark runs are not calibrated. In case a manual request was done. The calibration status will be in error state. Dark runs are not calibrated. In case a manual request was done. The calibration status will be in error state.
![!Run correction status](static/myMDC/run_9037_general_status.png){align=right width=240} ![!Run correction status](../static/myMDC/run_9037_general_status.png){align=right width=240}
To check more details about a specific run like it's id, size, number of files, first and last train Ids, clicking on the run number will convert you the run page. To check more details about a specific run like its ID, size, number of files, first and last train Ids, clicking on the run number will convert you the run page.
This page is very useful in checking the correction status, as both `Calibrated Process data status` and `Calibration Pipeline auto Reply` keys are updated regularly by the calibration service until a correction is finished. This page is very useful in checking the correction status, as both `Calibrated Process data status` and `Calibration Pipeline auto Reply` keys are updated regularly by the calibration service until a correction is finished.
...@@ -57,10 +57,10 @@ For example if a run correction request failed. `Calibration Pipeline auto Reply ...@@ -57,10 +57,10 @@ For example if a run correction request failed. `Calibration Pipeline auto Reply
## Generating calibration constants ## Generating calibration constants
![calibration constant generation](static/myMDC/calibration_constants.png) ![calibration constant generation](../static/myMDC/calibration_constants.png)
Currently, only dark calibration constants generation can be triggered through myMDC. he below screenshot shows the `Calibration Constants` page for proposal 900203. As noted before the current available option is to request dark calibration. To go through: Currently, only dark calibration constants generation can be triggered through myMDC. the below screenshot shows the `Calibration Constants` page for proposal 900203. As noted before the current available option is to request dark calibration. To go through:
- Detector: First you need to select the desired detector from the available detectors of the proposal. - Detector: First you need to select the desired detector from the available detectors of the proposal.
- Detector Units: By default, all the detector's modules are selected. But you can deselect the undesired modules. e.g. if a module is known not to have data for this run. - Detector Units: By default, all the detector's modules are selected. But you can deselect the undesired modules. e.g. if a module is known not to have data for this run.
...@@ -71,7 +71,7 @@ Currently, only dark calibration constants generation can be triggered through m ...@@ -71,7 +71,7 @@ Currently, only dark calibration constants generation can be triggered through m
### Calibration Constants requests ### Calibration Constants requests
![dark requests status](static/myMDC/dark_different_requests.png) ![dark requests status](../static/myMDC/dark_different_requests.png)
!!! Note !!! Note
...@@ -84,8 +84,8 @@ As it can be seen in the screenshot, this section has the latest dark requests w ...@@ -84,8 +84,8 @@ As it can be seen in the screenshot, this section has the latest dark requests w
This page is very useful to check more details regarding the dark request. For example the report path, the output path, who triggered request and when, and the calibration pipeline feedback. This page is very useful to check more details regarding the dark request. For example the report path, the output path, who triggered request and when, and the calibration pipeline feedback.
![Dark request status success](static/myMDC/dark_request_status_success.png){: style="height:280px"} ![Dark request status success](../static/myMDC/dark_request_status_success.png){: style="height:280px"}
![Dark request status error](static/myMDC/dark_request_status_error.png){: style="height:280px"} ![Dark request status error](../static/myMDC/dark_request_status_error.png){: style="height:280px"}
......
# Glossary # Glossary
- PDU: Physical Detector Units - The detector module hardware name given by detector expert or manufacturer. - PDU: Physical Detector Units - The detector module hardware name given by detector expert or manufacturer.
- Detector UUID:
- CLI: Command Line Interface
-
\ No newline at end of file
...@@ -51,14 +51,13 @@ extra_css: ...@@ -51,14 +51,13 @@ extra_css:
plugins: plugins:
- glightbox - glightbox
- literate-nav:
nav_file: SUMMARY.md
- mkdocstrings: - mkdocstrings:
handlers: handlers:
python: python:
import: import:
- https://docs.python-requests.org/en/master/objects.inv - https://docs.python-requests.org/en/master/objects.inv
synatx: sphinx paths: [src]
syntax: sphinx
docstring_section_style: list docstring_section_style: list
docstring_style: sphinx docstring_style: sphinx
- search - search
...@@ -69,6 +68,8 @@ plugins: ...@@ -69,6 +68,8 @@ plugins:
- gen-files: - gen-files:
scripts: scripts:
- docs/gen_ref_pages.py - docs/gen_ref_pages.py
- literate-nav:
nav_file: SUMMARY.md
repo_url: https://git.xfel.eu/calibration/pycalibration repo_url: https://git.xfel.eu/calibration/pycalibration
...@@ -85,10 +86,10 @@ nav: ...@@ -85,10 +86,10 @@ nav:
- Development: - Development:
- Installation: development/installation.md - Installation: development/installation.md
- Workflow: development/workflow.md - Workflow: development/workflow.md
- How to write a notebook: development/how_to_write_xfel_calibrate_notebook_NBC.ipynb #- How to write a notebook: development/how_to_write_xfel_calibrate_notebook_NBC.ipynb
- Configuration: development/configuration.md - Configuration: development/configuration.md
- Advanced topics: development/advanced.md - Advanced topics: development/advanced.md
- Code Reference: reference/ - Code Reference: reference/SUMMARY.md
- Reference: - Reference:
- FAQ: references/faq.md - FAQ: references/faq.md
- Changelog: references/changelog.md - Changelog: references/changelog.md
......
...@@ -150,9 +150,6 @@ setup( ...@@ -150,9 +150,6 @@ setup(
extras_require={ extras_require={
"docs": [ "docs": [
"nbsphinx", "nbsphinx",
"mkdocstrings-python",
"mkdocs-glightbox",
"mkdocs-literate-nav",
], ],
"test": [ "test": [
"coverage", "coverage",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment