Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve documentation #598

Open
wants to merge 51 commits into
base: main
Choose a base branch
from
Open

Improve documentation #598

wants to merge 51 commits into from

Conversation

fzimmermann89
Copy link
Member

@fzimmermann89 fzimmermann89 commented Jan 7, 2025

A bunch of fixes and improvements to the documentation.

  • more content on landing page
  • some warnings fixed
  • fix default_factory rendering in dataclases (Dataclass field types are not rendered when factories are used sphinx-doc/sphinx#10893)
  • fix properties in (for example in Rotation) not always getting new lines
  • enable intersphinx to link to toch.Tensor dumentation etc
  • replace source links with github links
  • use github style for code examples (not sure about this, came as a side effect of the GitHub links)
  • make the navigation on the top level navigation bar expandable
  • remove iterative reconstruction from basic example, add fourier op
  • links in examples
  • more text in examples
  • removed T2* example, as it does not really show anything new
  • add descriptions to algorithms
  • fix a lot of small issues

Copy link
Contributor

github-actions bot commented Jan 7, 2025

Coverage

Coverage Report
FileStmtsMissCoverMissing
src/mrpro/algorithms/csm
   inati.py24196%44
   walsh.py16194%52
src/mrpro/algorithms/dcf
   dcf_voronoi.py53492%15, 55–56, 89
src/mrpro/algorithms/optimizers
   adam.py20195%106
src/mrpro/algorithms/reconstruction
   DirectReconstruction.py281643%59–79, 93
   IterativeSENSEReconstruction.py13192%79
   Reconstruction.py502256%42, 54–56, 80–87, 108–117
   RegularizedIterativeSENSEReconstruction.py411759%97–101, 115–140
src/mrpro/data
   AcqInfo.py128398%26, 169, 207
   CsmData.py29390%15, 84–86
   DcfData.py45882%18, 66, 78–83
   IData.py67987%119, 125, 129, 159–167
   IHeader.py75791%75, 109, 127–131
   KData.py2142588%111–112, 127, 134, 144, 152, 206–207, 245, 250–251, 270–281, 435, 437, 500, 515, 552, 583, 592
   KHeader.py1531789%25, 119–123, 150, 199, 210, 217–218, 221, 228, 260–271
   KNoise.py311552%39–52, 56–61
   KTrajectory.py811285%109–114, 117–119, 204–208
   MoveDataMixin.py1401887%28, 126, 142, 156–158, 220, 336–338, 351, 430, 450–451, 453, 468–469, 471
   QData.py39782%42, 65–73
   Rotation.py6743595%100, 198, 335, 433, 477, 495, 581, 583, 592, 626, 628, 691, 768, 773, 776, 791, 808, 813, 889, 1077, 1082, 1085, 1109, 1113, 1241, 1243, 1251–1252, 1316, 1398, 1691, 1845, 1880, 1884, 1995
   SpatialDimension.py2322191%34, 104, 141, 148, 154, 274–276, 289–291, 325, 343, 356, 369, 382, 395, 404–405, 420, 429
   acq_filters.py12192%47
src/mrpro/data/traj_calculators
   KTrajectoryCalculator.py25292%23, 45
   KTrajectoryIsmrmrd.py13285%41, 50
   KTrajectoryPulseq.py23196%55
src/mrpro/operators
   CartesianSamplingOp.py89397%118, 157, 280
   ConstraintsOp.py60297%46, 48
   EndomorphOperator.py65297%228, 234
   FiniteDifferenceOp.py27293%40, 105
   FourierOp.py158398%274, 392, 397
   Functional.py71593%20–22, 117, 119
   GridSamplingOp.py136993%72–73, 82–83, 90–91, 94, 96, 98
   LinearOperator.py1681094%55, 108, 212, 242, 283, 292, 300, 309, 317, 351
   LinearOperatorMatrix.py1581690%82, 119, 152, 161, 166, 175–178, 191–194, 203, 215, 304, 331, 359
   MultiIdentityOp.py13285%43, 48
   Operator.py78297%31, 80
   ProximableFunctionalSeparableSum.py39392%50, 103, 110
   SliceProjectionOp.py173895%44, 61, 63, 69, 206, 227, 260, 300
   WaveletOp.py120596%152, 170, 205, 210, 233
   ZeroPadOp.py16194%30
src/mrpro/utils
   filters.py62297%44, 49
   reshape.py60198%191
   slice_profiles.py46687%20, 36, 113–116, 149
   sliding_window.py34197%34
   split_idx.py10280%43, 47
   summarize_tensorvalues.py11918%20–29
   typing.py211148%8–23
   zero_pad_or_crop.py31681%26, 30, 54, 57, 60, 63
TOTAL489536093% 

Tests Skipped Failures Errors Time
2263 0 💤 0 ❌ 0 🔥 1m 9s ⏱️

@fzimmermann89 fzimmermann89 marked this pull request as ready for review January 7, 2025 02:19
Copy link
Contributor

github-actions bot commented Jan 7, 2025

📚 Documentation

📁 Download as zip
🔍 View online

@ckolbPTB
Copy link
Collaborator

ckolbPTB commented Jan 7, 2025

These three references should also be changed into something like [KABS], [WAHB], [MAG2018]

.. [1] https://en.wikipedia.org/wiki/Kabsch_algorithm

@ckolbPTB
Copy link
Collaborator

ckolbPTB commented Jan 7, 2025

Any idea why the background is not black for the all the code in the notebooks:

grafik

@fzimmermann89
Copy link
Member Author

"use github style for code examples (not sure about this)"

@ckolbPTB
Copy link
Collaborator

ckolbPTB commented Jan 8, 2025

"use github style for code examples (not sure about this)"

But even for the github style the background should depend on the browser settings, shouldn't it?

github-actions bot and others added 4 commits January 8, 2025 22:45
commit 399ea3b
Author: Felix Zimmermann <[email protected]>
Date:   Thu Jan 9 19:35:48 2025 +0100

    notebools

commit 9a24e28
Author: Felix Zimmermann <[email protected]>
Date:   Thu Jan 9 17:18:08 2025 +0100

    changes to leonids pr

commit 13c4e7e
Author: lrlunin <[email protected]>
Date:   Wed Dec 18 16:24:36 2024 +0100

    fix notebooks_path output

commit 93ef986
Author: lrlunin <[email protected]>
Date:   Wed Dec 18 16:21:23 2024 +0100

    fix matrix element name

commit 7eccf87
Merge: 2d3c3ff 9dc1167
Author: Lunin Leonid <[email protected]>
Date:   Wed Dec 18 16:14:30 2024 +0100

    Merge branch 'main' into notebooks-in-pre-commit

commit 2d3c3ff
Author: lrlunin <[email protected]>
Date:   Wed Dec 18 15:46:10 2024 +0100

    remove space after markdown for colab badge

commit 9a5556d
Author: lrlunin <[email protected]>
Date:   Wed Dec 18 15:45:25 2024 +0100

    add space after markdown for colab badge

commit fba5a6f
Author: lrlunin <[email protected]>
Date:   Wed Dec 18 15:05:55 2024 +0100

    add colab badge for each notebook

commit 159afed
Author: lrlunin <[email protected]>
Date:   Wed Dec 18 14:17:45 2024 +0100

    update jupytext version

commit 34d43f0
Author: lrlunin <[email protected]>
Date:   Tue Dec 10 13:58:43 2024 +0100

    use find for notebook listing in docs

commit f76b236
Author: lrlunin <[email protected]>
Date:   Tue Dec 10 13:23:29 2024 +0100

    one-way conversion from .py to .ipynb, remove preamble from .py representation

commit 865347a
Author: lrlunin <[email protected]>
Date:   Wed Nov 20 22:45:42 2024 +0100

    fixed path for notebooks in examples

commit 1688c70
Author: lrlunin <[email protected]>
Date:   Wed Nov 20 22:44:16 2024 +0100

    fixed trigger for jupytext

commit b9b3a6f
Author: lrlunin <[email protected]>
Date:   Wed Nov 20 22:40:17 2024 +0100

    split scripts and notebooks

commit 279a578
Merge: beddf13 8d24ebb
Author: Lunin Leonid <[email protected]>
Date:   Tue Nov 19 21:10:30 2024 +0100

    Merge branch 'main' into notebooks-in-pre-commit

commit beddf13
Author: lrlunin <[email protected]>
Date:   Tue Nov 19 21:10:03 2024 +0100

    sync .ipynb/.py in pre-commit, add preamble in .py files

commit 0600a53
Author: lrlunin <[email protected]>
Date:   Tue Nov 19 18:42:47 2024 +0100

    moved examples ruff config to examples folder, removed verbose from pre-commit hook

commit 36f3b7a
Author: lrlunin <[email protected]>
Date:   Tue Nov 19 18:25:57 2024 +0100

    fixed missing kernelspec

commit 4d610c6
Author: lrlunin <[email protected]>
Date:   Fri Nov 15 14:23:38 2024 +0100

    also removing metadata.language_info

commit 48e8080
Author: lrlunin <[email protected]>
Date:   Thu Nov 14 22:45:35 2024 +0100

    clean kernel related information from the cells

commit f8aa621
Author: lrlunin <[email protected]>
Date:   Thu Nov 14 20:44:13 2024 +0100

    remove mention of convert steps

commit 534aaa0
Author: lrlunin <[email protected]>
Date:   Thu Nov 14 20:37:43 2024 +0100

    reset cell id

commit 9f5f2da
Merge: 74675d6 38722bf
Author: Lunin Leonid <[email protected]>
Date:   Thu Nov 14 20:36:21 2024 +0100

    Merge branch 'main' into notebooks-in-pre-commit

commit 74675d6
Merge: ae3a613 c268ad2
Author: Lunin Leonid <[email protected]>
Date:   Sun Nov 10 20:50:44 2024 +0100

    Merge branch 'main' into notebooks-in-pre-commit

commit ae3a613
Author: lrlunin <[email protected]>
Date:   Sun Nov 10 20:50:10 2024 +0100

    reset the cells to init states

commit 5d1dba2
Author: lrlunin <[email protected]>
Date:   Fri Nov 8 16:43:47 2024 +0100

    moved notebooks formatting and update to pre-commit
commit 36785c4
Author: lrlunin <[email protected]>
Date:   Fri Jan 10 13:57:38 2025 +0100

    move cartesion_reconstruction in correct folders

commit d3b0d1b
Author: lrlunin <[email protected]>
Date:   Fri Jan 10 13:54:34 2025 +0100

    run mypy hook as last

commit b66b9b7
Author: Lunin Leonid <[email protected]>
Date:   Thu Jan 9 22:22:38 2025 +0100

    fix notebook_path variable in matrix

commit 8e2cb8e
Merge: f450529 a1873a0
Author: Lunin Leonid <[email protected]>
Date:   Thu Jan 9 22:20:50 2025 +0100

    Merge branch 'main' into notebooks-in-pre-commit

commit f450529
Author: Felix F Zimmermann <[email protected]>
Date:   Thu Jan 9 22:15:20 2025 +0100

    changes to leonids pr (#602)

commit a1873a0
Author: Lunin Leonid <[email protected]>
Date:   Wed Jan 8 09:54:12 2025 +0100

    Add dark and light logo to README (#600)

commit f040c00
Author: Felix F Zimmermann <[email protected]>
Date:   Wed Jan 8 00:07:27 2025 +0100

    Release v0.250107 (#599)

commit 13c4e7e
Author: lrlunin <[email protected]>
Date:   Wed Dec 18 16:24:36 2024 +0100

    fix notebooks_path output

commit 93ef986
Author: lrlunin <[email protected]>
Date:   Wed Dec 18 16:21:23 2024 +0100

    fix matrix element name

commit 7eccf87
Merge: 2d3c3ff 9dc1167
Author: Lunin Leonid <[email protected]>
Date:   Wed Dec 18 16:14:30 2024 +0100

    Merge branch 'main' into notebooks-in-pre-commit

commit 2d3c3ff
Author: lrlunin <[email protected]>
Date:   Wed Dec 18 15:46:10 2024 +0100

    remove space after markdown for colab badge

commit 9a5556d
Author: lrlunin <[email protected]>
Date:   Wed Dec 18 15:45:25 2024 +0100

    add space after markdown for colab badge

commit fba5a6f
Author: lrlunin <[email protected]>
Date:   Wed Dec 18 15:05:55 2024 +0100

    add colab badge for each notebook

commit 159afed
Author: lrlunin <[email protected]>
Date:   Wed Dec 18 14:17:45 2024 +0100

    update jupytext version

commit 34d43f0
Author: lrlunin <[email protected]>
Date:   Tue Dec 10 13:58:43 2024 +0100

    use find for notebook listing in docs

commit f76b236
Author: lrlunin <[email protected]>
Date:   Tue Dec 10 13:23:29 2024 +0100

    one-way conversion from .py to .ipynb, remove preamble from .py representation

commit 865347a
Author: lrlunin <[email protected]>
Date:   Wed Nov 20 22:45:42 2024 +0100

    fixed path for notebooks in examples

commit 1688c70
Author: lrlunin <[email protected]>
Date:   Wed Nov 20 22:44:16 2024 +0100

    fixed trigger for jupytext

commit b9b3a6f
Author: lrlunin <[email protected]>
Date:   Wed Nov 20 22:40:17 2024 +0100

    split scripts and notebooks

commit 279a578
Merge: beddf13 8d24ebb
Author: Lunin Leonid <[email protected]>
Date:   Tue Nov 19 21:10:30 2024 +0100

    Merge branch 'main' into notebooks-in-pre-commit

commit beddf13
Author: lrlunin <[email protected]>
Date:   Tue Nov 19 21:10:03 2024 +0100

    sync .ipynb/.py in pre-commit, add preamble in .py files

commit 0600a53
Author: lrlunin <[email protected]>
Date:   Tue Nov 19 18:42:47 2024 +0100

    moved examples ruff config to examples folder, removed verbose from pre-commit hook

commit 36f3b7a
Author: lrlunin <[email protected]>
Date:   Tue Nov 19 18:25:57 2024 +0100

    fixed missing kernelspec

commit 4d610c6
Author: lrlunin <[email protected]>
Date:   Fri Nov 15 14:23:38 2024 +0100

    also removing metadata.language_info

commit 48e8080
Author: lrlunin <[email protected]>
Date:   Thu Nov 14 22:45:35 2024 +0100

    clean kernel related information from the cells

commit f8aa621
Author: lrlunin <[email protected]>
Date:   Thu Nov 14 20:44:13 2024 +0100

    remove mention of convert steps

commit 534aaa0
Author: lrlunin <[email protected]>
Date:   Thu Nov 14 20:37:43 2024 +0100

    reset cell id

commit 9f5f2da
Merge: 74675d6 38722bf
Author: Lunin Leonid <[email protected]>
Date:   Thu Nov 14 20:36:21 2024 +0100

    Merge branch 'main' into notebooks-in-pre-commit

commit 74675d6
Merge: ae3a613 c268ad2
Author: Lunin Leonid <[email protected]>
Date:   Sun Nov 10 20:50:44 2024 +0100

    Merge branch 'main' into notebooks-in-pre-commit

commit ae3a613
Author: lrlunin <[email protected]>
Date:   Sun Nov 10 20:50:10 2024 +0100

    reset the cells to init states

commit 5d1dba2
Author: lrlunin <[email protected]>
Date:   Fri Nov 8 16:43:47 2024 +0100

    moved notebooks formatting and update to pre-commit
Copy link
Member Author

Choose a reason for hiding this comment

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

Added a short intro and the docstrings to modules, making the subsection redundant

Copy link
Member Author

Choose a reason for hiding this comment

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

ruff formatted

Copy link
Member Author

Choose a reason for hiding this comment

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

removed some of the comments from the tutorial.

]


intersphinx_mapping = {
Copy link
Member Author

Choose a reason for hiding this comment

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

makes torch.Tensor etc clickable links

default_role = 'py:obj'


def get_lambda_source(obj):
Copy link
Member Author

Choose a reason for hiding this comment

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

used to supports default_factory=lambda: torch.ones(1,1,1,1,1) etc in rewrite_dataclass_init_default_factories

@@ -1,9 +1,11 @@
extend = "../pyproject.toml"
exclude = ["notebooks/*.ipynb"]
Copy link
Member Author

Choose a reason for hiding this comment

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

ruff and jupytext sometimes disagree on formatting.
but our ipynbs are autogeneratred anyways.


dataset = '14173489'

tmp = tempfile.TemporaryDirectory() # RAII, automatically cleaned up
Copy link
Member Author

Choose a reason for hiding this comment

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

the directory including any files in it will be deleted when tmp goes out of scope (also on interpreter shutdown.)
downside is that this will print a warning on shutdown to the console

import tempfile
from pathlib import Path

import zenodo_get
Copy link
Member Author

Choose a reason for hiding this comment

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

We always use zenodo get now

Copy link
Collaborator

Choose a reason for hiding this comment

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

But this means we download a lot of data we don't need....

t1_start = rearrange(t1_dictionary[idx_best_match], '(y x)->1 1 y x', y=n_y, x=n_x)
import einops

dot_product = einops.einsum(
Copy link
Member Author

Choose a reason for hiding this comment

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

a bit cleaner dictionary matching

Copy link
Member Author

Choose a reason for hiding this comment

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

I added some description to the algorithms that describes what they do

.precommit/add_notebook_preemble.py Outdated Show resolved Hide resolved
docs/source/contributor_guide.rst Outdated Show resolved Hide resolved
docs/source/user_guide.rst Outdated Show resolved Hide resolved
docs/source/user_guide.rst Outdated Show resolved Hide resolved
docs/source/user_guide.rst Outdated Show resolved Hide resolved
examples/scripts/cartesian_reconstruction.py Outdated Show resolved Hide resolved
@ckolbPTB
Copy link
Collaborator

Some comments, still have to go through the docu

  • keep the T2* example as it was part of the challenge and should be somewhere for reproducibility reasons
  • keep the iterative SENSE in the basics example or create a new notebook which shows how to get the coil maps from the reference data - this is not covered anywhere else

@fzimmermann89
Copy link
Member Author

Some comments, still have to go through the docu

  • keep the T2* example as it was part of the challenge and should be somewhere for reproducibility reasons

The notebook has changed anyways. The results do not match the challenge submission anymore. I would suggest to link the award mentions to the specific version of the notebooks in git used to create the results. And remove the T2* example.
Examples is not the right place to but "everything" we want to preserve, but only stuff that helps the documentation.

  • keep the iterative SENSE in the basics example or create a new notebook which shows how to get the coil maps from the reference data - this is not covered anywhere else

I want to remove iterative SENSE from "basic". We still use the CSMs from the reference scan with the manual or direct reconstruction, right?

fzimmermann89 and others added 2 commits January 14, 2025 10:17
@ckolbPTB
Copy link
Collaborator

I want to remove iterative SENSE from "basic". We still use the CSMs from the reference scan with the manual or direct reconstruction, right?

No, everywhere else we use self-calibrated SENSE

Comment on lines 42 to 43
You can easily launch notebooks via the |colab-badge| badge and give the notebooks a try without having to
install anything.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
You can easily launch notebooks via the |colab-badge| badge and give the notebooks a try without having to
install anything.
You can launch the notebooks using the |colab-badge| badge and explore them directly in browser — no installation required.

@ckolbPTB
Copy link
Collaborator

Missing dimensions/shape formatting:

"""K-space data of noise measurements. Shape (...other coils k2 k1 k0)"""

"""Data. Shape (...other coils k2 k1 k0)"""

"""Rearrange kdata from (... k2 k1 ...) to (... 1 (k2 k1) ...).

K-space data (other coils k2 k1 k0)
ff
K-space data (other coils k2 k1 k0)
ff

.. toctree::
:maxdepth: 1
:maxdepth: 2

Copy link
Collaborator

Choose a reason for hiding this comment

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

I would suggest to change the order to
user_guide
examples
contributor_guide
api
faq

\hat{m}_t &= \frac{m_t}{1 - \beta_1^t}, \quad \hat{v}_t = \frac{v_t}{1 - \beta_2^t} \\
\theta_{t+1} &= \theta_t - \frac{\eta}{\sqrt{\hat{v}_t} + \epsilon} \hat{m}_t

where:
Copy link
Collaborator

Choose a reason for hiding this comment

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

This list is not displayed correctly

:math:`H:= diag(H_1, ..., H_N)` and :math:`b:= [b_1, ..., b_N]^T`.
1. Initialize the residual :math:`r_0 = b - Hx_0` (with :math:`x_0` as the initial guess).
2. Set the search direction :math:`p_0 = r_0`.
3. For each iteration :math:`k = 0, 1, 2, ...`:
Copy link
Collaborator

Choose a reason for hiding this comment

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

List not working

__all__ = ["csm", "optimizers", "prewhiten_kspace", "reconstruction"]
Copy link
Collaborator

Choose a reason for hiding this comment

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

I think dcf is missing here

.. [Hestenes1952] Hestenes, M. R., & Stiefel, E. (1952). Methods of conjugate gradients for solving linear systems.
*Journal of Research of the National Bureau of Standards*, 49(6), 409-436
.. [Nocedal2006] Nocedal, J. (2006). *Numerical Optimization* (2nd ed.). Springer.
.. [WikipediaCG] Wikipedia: Conjugate Gradient`<https://en.wikipedia.org/wiki/Conjugate_gradient>_
Copy link
Collaborator

Choose a reason for hiding this comment

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

Wiki link not displayed correctly

----------
.. [NOC1980] Nocedal, J. (1980). "Updating quasi-Newton matrices with limited storage."
*Mathematics of Computation*, 35(151), 773-782.
`10.1090/S0025-5718-1980-0572855-7`<https://doi.org/10.1090/S0025-5718-1980-0572855-7>_
Copy link
Collaborator

Choose a reason for hiding this comment

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

Links not displayed correctly here and below

Example for 2D-Cartesian Trajectories:
kx changes along k0 and is Frequency Encoding
ky changes along k2 and is Phase Encoding
kz is zero(1,1,1,1)
kz is zero `(1,1,1,1)`
Copy link
Collaborator

Choose a reason for hiding this comment

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

IMO does not look nice in the docu

@@ -18,22 +18,22 @@ class KTrajectoryRawShape(MoveDataMixin):
"""K-space trajectory shaped ((other*k2*k1),k0).
Copy link
Collaborator

Choose a reason for hiding this comment

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

shape formating

# Finally, we will reconstruct a Cartesian scan with regular undersampling.


# %% tags=["hide-cell"]
Copy link
Collaborator

Choose a reason for hiding this comment

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

Why would we want to hide this cell?

# In general, both the data and the reconstruction module must be moved to the same device.

# %%
if torch.cuda.is_available():
Copy link
Collaborator

Choose a reason for hiding this comment

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

this leads to a fail on colab:
RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu!

and fulfill f(a*x + b*y) = a*f(x) + b*f(y)
with a,b scalars and x,y tensors.
LinearOperators have exactly one input tensors and one output tensor,
and fulfill :math:`f(a*x + b*y) = a*f(x) + b*f(y)`
Copy link
Collaborator

Choose a reason for hiding this comment

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

b and y not displayed correctly

@ckolbPTB
Copy link
Collaborator

ckolbPTB commented Jan 14, 2025

Formatting missing:

In most cases, consider setting divide_by_n to true to be independent of input size.

Can you please also unify the use of l1 norm, L1 norm and L1-norm here?

Similar issue here:

In most cases, consider setting divide_by_n to true to be independent of input size.

In most cases, consider setting divide_by_n to true to be independent of input size.

@ckolbPTB
Copy link
Collaborator

(… other, coils, z, y, x) and (time … other, coils, z, y, x) need to be correctly formatted for all signal models

@ckolbPTB
Copy link
Collaborator

Remove double quotes here?

``m0_scaling_preparation`` and :math:`\Delta t` is ``delay_after_preparation``. The effective longitudinal

@ckolbPTB
Copy link
Collaborator

Formatting missing here:

if None, defaults to three ellipses

if None, defaults to three ellipses with different parameters.

This is a 2D simulation so the output will be (1 1 1 image_dimensions.y image_dimensions.x)

@@ -98,8 +90,8 @@ Please check how your new additions render in the documentation before requestin

Adding new Examples
===================
New exciting applications of MRpro can be added in ```examples``` as only ```.py``` files with code-cells. These can, for example, be used in VSCode with the python extension, or in JupyterLab with the `jupytext <https://jupytext.readthedocs.io/en/latest/install.html>`_ extension.
An automatic workflow at github will create notebooks and pages in the documentation based on the python scripts.
New exciting applications of MRpro can be added in ```examples``` as only ```.py``` files with code-cells. These can, for example, be used in VSCode with the python extension, or in JupyterLab with the `jupytext <https://jupytext.readthedocs.io/en/latest/>`_ extension.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Wrong code formatting

Suggested change
New exciting applications of MRpro can be added in ```examples``` as only ```.py``` files with code-cells. These can, for example, be used in VSCode with the python extension, or in JupyterLab with the `jupytext <https://jupytext.readthedocs.io/en/latest/>`_ extension.
New exciting applications of MRpro can be added in ``examples`` as only ``.py`` files with code-cells. These can, for example, be used in VSCode with the python extension, or in JupyterLab with the `jupytext <https://jupytext.readthedocs.io/en/latest/>`_ extension.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Same on the line 87:
You can build the documentation locally via running ```make html``` in the docs folder. The documentation will also be build in each PR and can be viewed online.

Copy link
Collaborator

Choose a reason for hiding this comment

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

And line 100:

Release Strategy
================
We are still in pre-release mode and do not guarantee a stable API / strict semantic versioning compatibility. We currently use ```0.YYMMDD``` as versioning and release in regular intervals to `pypi  <https://pypi.org/project/mrpro/>`_.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants