Skip to content
Open
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: 2 additions & 2 deletions .github/workflows/build_docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.11'
python-version: '3.10'

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Why has the python version been downgraded? Is this a good idea since version 3.10 has just gone end-of-life? https://devguide.python.org/versions/

- name: Build docs
run: |
# create an x11 display because otherwise MATLAB refuses to export live scripts...
Expand All @@ -48,7 +48,7 @@ jobs:
wget https://github.com/jgm/pandoc/releases/download/3.6.2/pandoc-3.6.2-1-amd64.deb
sudo apt install -y ./pandoc-3.6.2-1-amd64.deb

pip install matlabengine==24.1.*
pip install matlabengine==9.14.*
pip install -r requirements.txt
python build_docs.py
- name: Checkout gh-pages
Expand Down
4 changes: 0 additions & 4 deletions source/_static/custom.css
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,6 @@ html[data-theme=dark] {
margin: 0;
}

#rat{
margin-bottom: 1.5em;
}

.sd-card-header{
font-weight: 550;
}
60 changes: 60 additions & 0 deletions source/advanced/backgroundFunctions.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
====================
Function Backgrounds
====================

RAT supports function backgrounds which use a custom function to describe the background for the experiment.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I think this might read better with a comma, as: "RAT supports function backgrounds, which use a custom function to describe the background for the experiment. "



The signature for background functions is shown in the code snippet below. The first argument `xdata` is a vector containing the q points over the simulation range,
which should incorporate the q values of the supplied data and the second argument `params` is a vector containing the background parameters associated with the background
up to 5 can be related to a specific functoin background. The function should return an array with the background value for each of the input simulation points.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

"and the second argument params is a vector containing the background parameters associated with the background up to 5 can be related to a specific functoin background."

Typo in "function". Also it feels like there is some punctuation missing here.


.. tab-set-code::
.. code-block:: MATLAB

function background = backgroundFunction(xdata, params)

background = zeros(numel(xdata), 1);

end

.. code-block:: Python

import numpy as np


def background_function(xdata, params):

background = np.zeros(len(xdata))
return background

To define a function background, add the custom function, associated background parameters, then create the background as shown below

.. tab-set-code::
.. code-block:: MATLAB

% Add the function background
% Add the function to custom files, and its parameters to background
% parameters
problem.addCustomFile('Back Fun','backgroundFunction.m','matlab',pwd);

problem.addBackgroundParam('Fn Ao',5e-7, 8e-6, 5e-5);
problem.addBackgroundParam('Fn k',40, 70, 90);
problem.addBackgroundParam('Fn Const',1e-7, 8e-6, 1e-5);

% Add the Background
problem.addBackground('Func Background','function','Back Fun','Fn Ao','Fn k','Fn Const');

.. code-block:: Python

problem.custom_files.append(name="Back Fun", filename="background_function.py", language="python")

problem.background_parameters.append(name="Fn Ao", min=5e-7, value=8e-6, max=5e-5)
problem.background_parameters.append(name="Fn k", min=40, value=70, max=90)
problem.background_parameters.append(name="Fn Const", min=1e-7, value=8e-6, max=1e-5)

problem.backgrounds.append(name="Func Background", type="function", source="Back Func", value_1="Fn Ao", value_2="Fn k", value_3="Fn Const")


An example of using Python and Matlab custom models can be found in examples folder. Look at DSPCScriptWithFunctionBackground.m and
DSPC_function_background.py in Matlab and Python respectively.
1 change: 1 addition & 0 deletions source/advanced/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ In this section we discuss some advanced features of the toolbox:-
resampling
parallelisation
customLanguages
backgroundFunctions
events


Expand Down
Loading