diff --git a/docs/explaining_sunkit_spex/basic-pipeline.drawio.svg b/docs/explaining_sunkit_spex/basic-pipeline.drawio.svg new file mode 100644 index 00000000..de27ca19 --- /dev/null +++ b/docs/explaining_sunkit_spex/basic-pipeline.drawio.svg @@ -0,0 +1,4 @@ + + + +
Instrument Teams' Pipeline
Not Sunkit-spex
1. Spectrum Container
Data X (edges or points), Data Y, & Error Y
Auxiliary information for model-to-data conversion stored & accessed in meta.
2. Core Model Object
Native models in the package. Physical models to be converted to data-space. Composite of sub-models.
3. Objective Function
Different fit statistics. Allows warnings to be raised when compared to Error Y from the spectrum container or parameter exploration methods used in the fitting.
4b. Model-to-data Comparison Object
Fitting, MCMC, & More
Editable fitting ranges on spectrum axis.
Parameter handling for comparison.
Easily exportable products for the user.
4a. Checks
Combine spectrum containers here. Only important to have the spectrum axis for each, all other dimensions can be made irrelevant. Checks for the objective function and Error Y compatibility. Checks units of Data Y and the model units in data-space match.
Sunkit-spex
xL
xM (≥L)
\ No newline at end of file diff --git a/docs/explaining_sunkit_spex/index.rst b/docs/explaining_sunkit_spex/index.rst new file mode 100644 index 00000000..1eb58d27 --- /dev/null +++ b/docs/explaining_sunkit_spex/index.rst @@ -0,0 +1,10 @@ +====================== +Explaining Sunkit-spex +====================== + +Here we will explain not only the need for Sunkit-spex but also the design philosophy we've adopted to handle this complicated process. + +.. toctree:: + :maxdepth: 2 + + infrastructure \ No newline at end of file diff --git a/docs/explaining_sunkit_spex/infrastructure.rst b/docs/explaining_sunkit_spex/infrastructure.rst new file mode 100644 index 00000000..53c30f8b --- /dev/null +++ b/docs/explaining_sunkit_spex/infrastructure.rst @@ -0,0 +1,65 @@ +************************** +Sunkit-spex Infrastructure +************************** + +This section will detail the workflow design of Sunkit-spex. Here we +will provide details on the flexible package structure while providing +relavent links to examples and code. + +Overview +======== + +Sunkit-spex takes a modular design perspective when it comes to working +with X-ray spectral data. Broadly, four categories exist: 1. the spectral +data; 2. the models; 3. the statistical approach; and 4. the model-to-data +comparison. The diagram below shows how the former three categories come +together, enabling the model-to-data comparison and also indicates how the +three categories are dependent on each other issuing the need for checks. + +.. raw:: html + :file: ./basic-pipeline.drawio.svg + +1. For data provided from a given instrument team, a user can use **Spectrum + containers** to store the all information relavent for fitting each + specific spectrum. + +2. **Core Model Objects** are provided although users can create their own. + These borrow their use from Astropy somewhat and can be combined into + composite models for more complicated cases. + +3. The final piece of the puzzle before model-to-data comparison can take + place is for the **Objective Function** or comparison statistics to be + defined. These will be used to govern the goodness of comparison and + their choice can influence validity of the model-to-data comparison + analysis. + +4. Providing the information contained above, a given model can be compared + to the user's data. All three components above are all in some way dependent + on each other; therefore, some **Checks (4a)** need to be performed for + validility. Post-checks, the models can be converted to the same unit-space + as the data using the observation & instrument information from the + **Spectrum Container** for direct comparison in the **Model-to-Data Comparison + Object (4b)**. Comparison will take place using the determined **Objective + Function** that will be consistent with the data error type from the + **Spectrum Container**. + +Spectral Data +============= + +Instrument Data Container +------------------------- + +Spectrum Container +------------------ + +Core Model Object +================= + +Objective Function +================== + +Fitter +====== + +Model-to-Data Comparison Object +------------------------------- diff --git a/docs/index.rst b/docs/index.rst index 4d5dc8c4..f74ae0fb 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -10,6 +10,9 @@ How the documentation is organized The Fitter documentation is divided into four sections a high-level overview of its organisation will help you know where to look for certain things: +* :doc:`Explaining Sunkit-spex ` explains the need + and design for the package. + * :doc:`Tutorials ` take you by the hand through a series of steps to create fit an X-ray spectrum. @@ -28,6 +31,7 @@ will help you know where to look for certain things: :maxdepth: 2 :caption: Contents: + explaining_sunkit_spex/index tutorials/index how_to/index discussion/index