Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions docs/explaining_sunkit_spex/basic-pipeline.drawio.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 10 additions & 0 deletions docs/explaining_sunkit_spex/index.rst
Original file line number Diff line number Diff line change
@@ -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
65 changes: 65 additions & 0 deletions docs/explaining_sunkit_spex/infrastructure.rst
Original file line number Diff line number Diff line change
@@ -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
-------------------------------
4 changes: 4 additions & 0 deletions docs/index.rst
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So potentially we could keep the high level information in the root but more detailed stuffs should go under discussion e.g. discussion/design discussion/fitting discussion/statistics if we're going to follow https://diataxis.fr

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This makes more sense and absolutely happy to move to it from what I have.

Original file line number Diff line number Diff line change
Expand Up @@ -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 </explaining_sunkit_spex/index>` explains the need
and design for the package.

* :doc:`Tutorials </tutorials/index>` take you by the hand through a series of
steps to create fit an X-ray spectrum.

Expand All @@ -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
Expand Down