Skip to content
5 changes: 1 addition & 4 deletions content/tutorial-air-quality-analysis.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ With this, we have successfully imported the data and checked that it is complet
## Calculating the Air Quality Index


We will calculate the AQI using [the method](https://app.cpcbccr.com/ccr_docs/FINAL-REPORT_AQI_.pdf) adopted by the [Central Pollution Control Board](https://www.cpcb.nic.in/national-air-quality-index/) of India. To summarize the steps:
We will calculate the AQI using the method adopted by the Central Pollution Control Board of India. To summarize the steps:

- Collect 24-hourly average concentration values for the standard pollutants; 8-hourly in case of CO and O3.

Expand Down Expand Up @@ -366,7 +366,4 @@ Note that this does not mean we can accept the alternative hypothesis. It only t

## Further reading

- There are a host of statistical tests you can choose according to the characteristics of the given data. Read more about them at
[A Gentle Introduction to Statistical Data Distributions](https://machinelearningmastery.com/statistical-data-distributions/).

- There are various versions of the [Student's t-test](https://en.wikipedia.org/wiki/Student%27s_t-test) that you can adopt according to your needs.
2 changes: 1 addition & 1 deletion content/tutorial-deep-learning-on-mnist.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ This tutorial was adapted from the work by [Andrew Trask](https://github.com/iam

The reader should have some knowledge of Python, NumPy array manipulation, and linear algebra. In addition, you should be familiar with main concepts of [deep learning](https://en.wikipedia.org/wiki/Deep_learning).

To refresh the memory, you can take the [Python](https://docs.python.org/dev/tutorial/index.html) and [Linear algebra on n-dimensional arrays](https://numpy.org/numpy-tutorials/content/tutorial-svd.html) tutorials.
To refresh the memory, you can take the [Python](https://docs.python.org/dev/tutorial/index.html) and {doc}`tutorial-svd` tutorials.

You are advised to read the [Deep learning](http://www.cs.toronto.edu/~hinton/absps/NatureDeepReview.pdf) paper published in 2015 by Yann LeCun, Yoshua Bengio, and Geoffrey Hinton, who are regarded as some of the pioneers of the field. You should also consider reading Andrew Trask's [Grokking Deep Learning](https://www.manning.com/books/grokking-deep-learning), which teaches deep learning with NumPy.

Expand Down
2 changes: 1 addition & 1 deletion content/tutorial-plotting-fractals.md
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@ def divergence_rate(mesh, num_iter=10, radius=2):

The behaviour of this function may look confusing at first glance, so it will help to explain some of the notation.

Our goal is to iterate over each value in the mesh and to tally the number of iterations before the value diverges. Since some values will diverge quicker than others, we need a procedure that only iterates over values that have an absolute value that is sufficiently small enough. We also want to stop tallying values once they surpass the radius. For this, we can use **[Boolean Indexing](https://numpy.org/devdocs/reference/arrays.indexing.html#boolean-array-indexing)**, a NumPy feature that when paired with universal functions is unbeatable. Boolean Indexing allows for operations to be performed conditionally on a NumPy array without having to resort to looping over and checking for each array value individually.
Our goal is to iterate over each value in the mesh and to tally the number of iterations before the value diverges. Since some values will diverge quicker than others, we need a procedure that only iterates over values that have an absolute value that is sufficiently small enough. We also want to stop tallying values once they surpass the radius. For this, we can use **[Boolean Indexing](https://numpy.org/devdocs/user/basics.indexing.html#boolean-array-indexing)**, a NumPy feature that when paired with universal functions is unbeatable. Boolean Indexing allows for operations to be performed conditionally on a NumPy array without having to resort to looping over and checking for each array value individually.

In our case, we use a loop to apply iterations to our function $f(z) = z^2 -1 $ and keep tally. Using Boolean indexing, we only apply the iterations to values that have an absolute value less than 2.

Expand Down
12 changes: 6 additions & 6 deletions content/tutorial-static_equilibrium.md
Original file line number Diff line number Diff line change
Expand Up @@ -304,14 +304,14 @@ RadCF = np.cross(AC, UnitCF)
This lets you represent the tension (T) and reaction (R) forces acting on the system as

$$\left[
\begin{array}
\begin{array}{ccccc}
~1/3 & 1/3 & 1 & 0 & 0\\
-2/3 & -2/3 & 0 & 1 & 0\\
-2/3 & 2/3 & 0 & 0 & 1\\
\end{array}
\right]
\left[
\begin{array}
\begin{array}{c}
~T_{BD}\\
T_{BE}\\
R_{x}\\
Expand All @@ -321,7 +321,7 @@ R_{z}\\
\right]
=
\left[
\begin{array}
\begin{array}{c}
~195\\
390\\
-130\\
Expand All @@ -331,20 +331,20 @@ R_{z}\\
and the moments as

$$\left[
\begin{array}
\begin{array}{cc}
~2 & -2\\
1 & 1\\
\end{array}
\right]
\left[
\begin{array}
\begin{array}{c}
~T_{BD}\\
T_{BE}\\
\end{array}
\right]
=
\left[
\begin{array}
\begin{array}{c}
~780\\
1170\\
\end{array}
Expand Down
10 changes: 4 additions & 6 deletions content/tutorial-x-ray-image-processing.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,7 @@ on certain parts, and visually compare them using the
[Canny](https://en.wikipedia.org/wiki/Canny_edge_detector) filters for edge
detection.

X-ray image analysis can be part of your data analysis and
[machine learning workflow](https://www.sciencedirect.com/science/article/pii/S235291481930214X)
X-ray image analysis can be part of your data analysis and machine learning workflow
when, for example, you're building an algorithm that helps
[detect pneumonia](https://www.kaggle.com/c/rsna-pneumonia-detection-challenge)
as part of a [Kaggle](https://www.kaggle.com)
Expand All @@ -36,8 +35,8 @@ particularly important when images are estimated to account for
medical data.

You'll be working with radiology images from the
[ChestX-ray8](https://www.nih.gov/news-events/news-releases/nih-clinical-center-provides-one-largest-publicly-available-chest-x-ray-datasets-scientific-community)
dataset provided by the [National Institutes of Health (NIH)](http://nih.gov).
[ChestX-ray8](https://arxiv.org/abs/1705.02315)
dataset provided by the [National Institutes of Health (NIH)](https://nih.gov).
ChestX-ray8 contains over 100,000 de-identified X-ray images in the PNG format
from more than 30,000 patients. You can find ChestX-ray8's files on NIH's public
Box [repository](https://nihcc.app.box.com/v/ChestXray-NIHCC) in the `/images`
Expand Down Expand Up @@ -69,7 +68,7 @@ The following packages are used in this tutorial:
- [imageio](https://imageio.github.io) for reading and writing image data. The
healthcare industry usually works with the
[DICOM](https://en.wikipedia.org/wiki/DICOM) format for medical imaging and
[imageio](https://imageio.readthedocs.io/en/stable/format_dicom.html) should be
[imageio](https://imageio.readthedocs.io/en/stable/_autosummary/imageio.plugins.dicom.html) should be
well-suited for reading that format. For simplicity, in this tutorial you'll be
working with PNG files.
- [Matplotlib](https://matplotlib.org/) for data visualization.
Expand Down Expand Up @@ -517,7 +516,6 @@ download.
To learn more about image processing in the context of biomedical image data or
simply edge detection, you may find the following material useful:

- [DICOM processing and segmentation in Python](https://www.raddq.com/dicom-processing-segmentation-visualization-in-python/) with Scikit-Image and pydicom (Radiology Data Quest)
- [Image manipulation and processing using Numpy and Scipy](https://scipy-lectures.org/advanced/image_processing/index.html) (Scipy Lecture Notes)
- [Intensity values](https://s3.amazonaws.com/assets.datacamp.com/production/course_7032/slides/chapter2.pdf) (presentation, DataCamp)
- [Object detection with Raspberry Pi and Python](https://makersportal.com/blog/2019/4/23/image-processing-with-raspberry-pi-and-python-part-ii-spatial-statistics-and-correlations) (Maker Portal)
Expand Down
1 change: 0 additions & 1 deletion site/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ The following links may be useful:
- [Main NumPy documentation](https://numpy.org/doc/stable/)
- [NumPy documentation team meeting notes](https://hackmd.io/oB_boakvRqKR-_2jRV-Qjg?both)
- [NEP 44 - Restructuring the NumPy documentation](https://numpy.org/neps/nep-0044-restructuring-numpy-docs.html)
- [Blog post - Documentation as a way to build Community](https://labs.quansight.org/blog/2020/03/documentation-as-a-way-to-build-community/)

Note that regular documentation issues for NumPy can be found in the [main NumPy
repository](https://github.com/numpy/numpy/issues) (see the `Documentation`
Expand Down
2 changes: 1 addition & 1 deletion tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ commands =

!buildhtml: pytest --nbval-lax --durations=10 content/

buildhtml: bash -c "jupyter-book build --execute --html -d"
buildhtml: bash -c "jupyter-book build --execute --html --strict -d"

pip_pre =
predeps: true
Expand Down