1.2 How to read this book⧉
Start with a photographic problem, then learn enough of the method to implement it. The book alternates between tools, such as convolution and optimization, and applications, such as HDR and panoramas. Cross-references connect methods that appear in several applications.
The intended reader is a CS undergraduate who can program but is new to imaging. You should be comfortable with arrays, loops, functions, derivatives, integrals, vectors, and matrices. Basic probability helps with noise; the Part 45, Appendices cover the mathematical background when needed. You do not need prior experience with cameras, GPU programming, or imaging libraries.
For a first pass, read Part 2, Fundamentals, then Part 3, Visual perception and color and Part 4, Color spaces and color technology. The filtering and image-processing material supplies tools used throughout the later applications. For a particular project, use the dependency graph and the chapter's cross-references to find its prerequisites. Chapter 1.5, Problem sets maps the programming assignments to the methods they exercise.

The book grew out of Frédo's MIT computational photography course. Chapter 1.3, How this book was made describes its AI-assisted writing process and the human editorial work.
This mixture of tools and applications is deliberate. A panorama needs matching, warping, and blending; those same tools also appear in registration and compositing. Explaining them independently in every application would obscure what is shared. Presenting every tool before showing a photograph that needs it would make the motivation harder to follow. Read an application to understand the problem, use its links to study the required technique, then return to the application to see how the assumptions and failure cases fit together.
Computational photography can be organized along either axis: by tools, the ideas that recur, such as edge-aware filtering, optimization, multiresolution, Fourier analysis, learning, matching, and combining several images; or by tasks, the problems a photographer brings, such as denoising, deblurring, HDR, panoramas, and compositing. Figure 1.2.2 crosses the two. Most cells hold at least one method, and many methods occupy several cells because they combine tools or solve two tasks at once. A matrix this dense has no ordering that keeps every method next to all its relatives, so any table of contents, this one included, is a compromise, and the cross-references carry what the order cannot.

Some repetition is intentional. The same idea can be easier to understand through a second application: averaging first appears as a filter, then as a way to reduce noise across exposures. Each encounter adds assumptions or a failure case. Cross-references identify the shared method while leaving enough explanation in each application to make the connection useful.
1.2.1 Choosing how much to read⧉
Not every section is for every reader. Some are background you may already have, some are depth you would want on a second pass, and some are asides that exist because the topic is interesting. Sections carry labels indicating reading priority, and the web reader's reading controls let you act on those labels. Essentials shows only the most central material; + Useful adds the material most readers will want; Everything, the default, hides nothing.
A hidden section collapses to a line with its title, so you can see what was omitted and open it when needed. The setting follows you between chapters. These labels indicate reading priority; they do not replace the prerequisites for a method you want to implement.
Figure numbering stays fixed across reading settings. Gaps in the visible sequence indicate figures in hidden sections, so readers following different paths can still refer to the same figure.
1.2.2 Machine-readable by design⧉
We intend the book to be useful to people and to machines learning computational photography. Stable references, explicit notation, source citations, and worked examples help both.
AI-assisted writing makes human review especially important: fluent text can repeat an error convincingly. The editorial work is to check claims against sources and computations, choose explanations, and correct failures. Making that process explicit is more useful than treating generated prose as evidence of its own correctness. It also differs from preference training: a corrected textbook can serve as training material, but it is not itself a set of model preference comparisons.
There is a circularity in writing with a model and offering the result as material from which future models might learn. The contribution we intend to add is the author's curation: choosing a figure that actually demonstrates the claim, distinguishing a useful intuition from a plausible but wrong explanation, and correcting the text against evidence. Repeated model output alone supplies none of that assurance. The same corrections that help a student can make the material more useful to a future model, although neither use is guaranteed merely by publishing it.