From c9ace1b1820049671b081b6486d882b14e443a87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Brigitta=20Sip=C5=91cz?= Date: Fri, 6 Feb 2026 21:18:27 -0800 Subject: [PATCH 01/11] Adding linkcheck (and check for other build problems) --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index 8ec29880..657222e0 100644 --- a/tox.ini +++ b/tox.ini @@ -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 From 35b6df95251d94cd614e5636a6b1b637682e23ce Mon Sep 17 00:00:00 2001 From: Ross Barnowski Date: Sat, 7 Feb 2026 13:19:39 -0800 Subject: [PATCH 02/11] DOC: rm dead quansight link. --- site/index.md | 1 - 1 file changed, 1 deletion(-) diff --git a/site/index.md b/site/index.md index b026eacc..19ce61a1 100644 --- a/site/index.md +++ b/site/index.md @@ -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` From a7587ad5de34c17443e2ca9e2088de8079c95855 Mon Sep 17 00:00:00 2001 From: Ross Barnowski Date: Sat, 7 Feb 2026 13:24:25 -0800 Subject: [PATCH 03/11] DOC: Update link to boolean indexing. --- content/tutorial-plotting-fractals.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/tutorial-plotting-fractals.md b/content/tutorial-plotting-fractals.md index beb64e6d..cfed8c4e 100644 --- a/content/tutorial-plotting-fractals.md +++ b/content/tutorial-plotting-fractals.md @@ -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. From 72b34f01281833bb775aed0ad18d2a94c9bcb5f2 Mon Sep 17 00:00:00 2001 From: Ross Barnowski Date: Sat, 7 Feb 2026 13:24:41 -0800 Subject: [PATCH 04/11] DOC: Rm dead link to machinelearningmaster.com --- content/tutorial-air-quality-analysis.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/content/tutorial-air-quality-analysis.md b/content/tutorial-air-quality-analysis.md index 30b51dca..8b20c2d5 100644 --- a/content/tutorial-air-quality-analysis.md +++ b/content/tutorial-air-quality-analysis.md @@ -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. From 9406f41835d6e5a5494e2fcd99085028ae932fdd Mon Sep 17 00:00:00 2001 From: Ross Barnowski Date: Sat, 7 Feb 2026 13:43:13 -0800 Subject: [PATCH 05/11] DOC: Replace explicit link with doc xlink. --- content/tutorial-deep-learning-on-mnist.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/tutorial-deep-learning-on-mnist.md b/content/tutorial-deep-learning-on-mnist.md index d58f4f7b..624b8665 100644 --- a/content/tutorial-deep-learning-on-mnist.md +++ b/content/tutorial-deep-learning-on-mnist.md @@ -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. From d07203c86a43def86095a77a8c8cfa01ad7f9a86 Mon Sep 17 00:00:00 2001 From: Ross Barnowski Date: Sat, 7 Feb 2026 13:49:51 -0800 Subject: [PATCH 06/11] DOC: replace dead nih blog link with arxiv.org --- content/tutorial-x-ray-image-processing.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/tutorial-x-ray-image-processing.md b/content/tutorial-x-ray-image-processing.md index aa3f508a..830abcbc 100644 --- a/content/tutorial-x-ray-image-processing.md +++ b/content/tutorial-x-ray-image-processing.md @@ -36,8 +36,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` From 363f36554e456292194a48477614719db0079606 Mon Sep 17 00:00:00 2001 From: Ross Barnowski Date: Sat, 7 Feb 2026 13:50:15 -0800 Subject: [PATCH 07/11] DOC: Update imageio link. --- content/tutorial-x-ray-image-processing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/tutorial-x-ray-image-processing.md b/content/tutorial-x-ray-image-processing.md index 830abcbc..271840fc 100644 --- a/content/tutorial-x-ray-image-processing.md +++ b/content/tutorial-x-ray-image-processing.md @@ -69,7 +69,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. From ab98135e2c38e6ddcf6bc5e8661bcca7c90d7e06 Mon Sep 17 00:00:00 2001 From: Ross Barnowski Date: Sat, 7 Feb 2026 13:50:29 -0800 Subject: [PATCH 08/11] Rm dead link to raddq.com. --- content/tutorial-x-ray-image-processing.md | 1 - 1 file changed, 1 deletion(-) diff --git a/content/tutorial-x-ray-image-processing.md b/content/tutorial-x-ray-image-processing.md index 271840fc..74e819de 100644 --- a/content/tutorial-x-ray-image-processing.md +++ b/content/tutorial-x-ray-image-processing.md @@ -517,7 +517,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) From 5956a800c6b27e64ad3bbf32954c2d3584a16be1 Mon Sep 17 00:00:00 2001 From: Ross Barnowski Date: Sat, 7 Feb 2026 13:58:43 -0800 Subject: [PATCH 09/11] DOC: rm links to cpcb (in/com). The .com link is dead, the .in link consistently times out. --- content/tutorial-air-quality-analysis.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/tutorial-air-quality-analysis.md b/content/tutorial-air-quality-analysis.md index 8b20c2d5..6ddc427c 100644 --- a/content/tutorial-air-quality-analysis.md +++ b/content/tutorial-air-quality-analysis.md @@ -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. From 4baa19f96e17160fd96a93463cbffb6f74500bad Mon Sep 17 00:00:00 2001 From: Ross Barnowski Date: Sat, 7 Feb 2026 14:40:09 -0800 Subject: [PATCH 10/11] TEX: Add column specifications to tables. Fixes errors (and borked rendering) in static eq tutorial. --- content/tutorial-static_equilibrium.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/content/tutorial-static_equilibrium.md b/content/tutorial-static_equilibrium.md index 29164be9..ce62ab06 100644 --- a/content/tutorial-static_equilibrium.md +++ b/content/tutorial-static_equilibrium.md @@ -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}\\ @@ -321,7 +321,7 @@ R_{z}\\ \right] = \left[ -\begin{array} +\begin{array}{c} ~195\\ 390\\ -130\\ @@ -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} From dc12a1512445638854e84a2329a96552cce8af73 Mon Sep 17 00:00:00 2001 From: Ross Barnowski Date: Sat, 7 Feb 2026 14:51:34 -0800 Subject: [PATCH 11/11] DOC: Rm sciencedirect link (403) --- content/tutorial-x-ray-image-processing.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/content/tutorial-x-ray-image-processing.md b/content/tutorial-x-ray-image-processing.md index 74e819de..605ac5f0 100644 --- a/content/tutorial-x-ray-image-processing.md +++ b/content/tutorial-x-ray-image-processing.md @@ -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)