Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Browse files

Final 1.0.0 documentation edits.

  • Loading branch information...
1 parent d35de45 commit 331c700a570a0adbcad3a6618098e081287fc6c1 Matthew Hancher committed
@@ -253,7 +253,8 @@ Recipient hereby agrees to all terms and conditions herein.
F. Point of Contact: Any Recipient contact with Government Agency is
to be directed to the designated representatives as follows:
- Terrence W. Fong,
- Laurence J. Edwards,
+ Terrence W. Fong
+ Laurence J. Edwards
NASA Ames Research Center
Mail Stop 269-3, Moffett Field, CA, 94035
2 
@@ -22,7 +22,7 @@
-AC_INIT([NASA Vision Workbench], [1.0.rc5], [], [VisionWorkbench])
+AC_INIT([NASA Vision Workbench], [1.0.0], [], [VisionWorkbench])
1  docs/workbook/acknowledgements.tex
@@ -15,5 +15,6 @@ \chapter*{Acknowledgements}
to all our users, past, present and future, for making software
development enjoyable and worthwhile.
+\vskip 0.25in
Portions of this work were funded by the Mars Critical Data Products
Initiative and the Exploration Technology Development Program.
28 docs/workbook/camera_module.tex
@@ -17,14 +17,14 @@ \chapter{The Camera Module}
Because you will likely encounter new camera geometries not supported
by the built-in classes, the camera module is designed to be
-extensible: the user can provide their own camera model by inheriting
+extensible. You can provide your own camera model by inheriting
from and adopting the interface of the {\tt CameraModel} abstract base
-class in {\tt <vw/Camera/CameraModel.h>}.
+class, which is defined in the header file {\tt <vw/Camera/CameraModel.h>}.
Finally, the camera module provides a basic set of tools for working
with images from real-world camera systems: bayer pattern filtering
and EXIF parsing. We will cover all of these features in more detail,
-however we begin this chapter by establishing some terminology whilst
+but we begin this chapter by establishing some terminology while
exploring the most common camera geometry in use today: the pinhole
camera model.
@@ -284,11 +284,11 @@ \subsection{Linescan Cameras}
In the special case where the motion of the linescan sensor is linear
and its orientation is fixed, the projection of the points onto the
-image in the along-track is orthographic. These assumptions are the
-basis for the {\em Linear Pushbroom Model}, which can be found in
-\verb#<vw/Camera/LinearPushbroomModel.h>#. If you are interested in
-understanding this model in detail, we recommend you read the
-excellent paper by Gupta and Hartly \cite{gupta97}.
+image in the along-track direction is orthographic. These assumptions
+are the basis for the {\em Linear Pushbroom Model}, which can be found
+in the header file \verb#<vw/Camera/LinearPushbroomModel.h>#. If you
+are interested in understanding this model in detail, we recommend you
+read the excellent paper by Gupta and Hartly \cite{gupta97}.
If you must relax the assumption about a linear flight path somewhat
to allow sensor pose to vary and the camera motion to lie along a
@@ -309,12 +309,12 @@ \subsection{Inverse Bayer Pattern Filtering}
Most imaging sensors are inherently grayscale capture devices. In
order to capture color, some imagers have a hardware color filter
-placed in front of the pixels on the CCD. This is called a {\em Bayer
- filter}. The Vision Workbench provides the
-\verb#inverse_bayer_filter()# method in
-\verb#<vw/Camera/BayerFilter.h># converting the raw, grayscale pixel
-values from the sensor and producing a color image by interpreting the
-Bayer filter effect.
+placed in front of the pixels on the CCD. This is called a
+{\em Bayer filter}. The Vision Workbench provides the
+\verb#inverse_bayer_filter()# function (found in the header file
+\verb#<vw/Camera/BayerFilter.h>#) which interprets the raw, grayscale
+pixel values from the sensor and produces a color image by
+interpreting the Bayer filter effect.
\subsection{Exif Exposure Data}
12 docs/workbook/mosaic_module.tex
@@ -19,14 +19,14 @@ \section{{\tt ImageComposite} and Multi-Band Blending}\label{sec:imagecomposite}
composite any number of source images together at arbitrary pixel
offsets. It was originally designed for assembling tiled panoramas or
aerial/satellite images that have been transformed into a common
-coordinate system, though it could be used for many other things as
+coordinate system, though it can be used for many other things as
-The main interface is fairly simple. Just like ordinary Vision
-Workbench images, an \verb#ImageComposite# is templatized on its pixel
-type. In most cases you will want to use a pixel type that has an
-alpha channel, and if you want to perform image blending then the
-pixel type must be floating-point, so the most common pixel type is
+The interface is fairly simple. Just like ordinary Vision Workbench
+images, an \verb#ImageComposite# is templatized on its pixel type. In
+most cases you will want to use a pixel type that has an alpha
+channel, and if you want to perform image blending then the pixel type
+must be floating-point, so the most common pixel type is
\verb#PixelRGBA<float32>#. You can then configure whether you would
like to use multi-band blending to merge your images or if you would
simply like them overlayed by using the \verb#set_draft_mode()#
4 docs/workbook/workbook.tex
@@ -31,7 +31,9 @@
Laurence J.~Edwards\\
Intelligent Systems Division\\
-NASA Ames Research Center}
+NASA Ames Research Center\\
22 docs/workbook/workingwithimages.tex
@@ -526,27 +526,27 @@ \subsection{Simple Image Manipulation}
- \subfigure[{\tt mural} (Original)]{\includegraphics[width=2in]{images/mural.jpg}\label{fig:simple.original}}
+ \subfigure[{\tt mural} (Original)]{\includegraphics[width=1.85in]{images/mural.jpg}\label{fig:simple.original}}
- \subfigure[{\tt rotate\char`\_180(mural)}]{\includegraphics[width=2in]{images/mural_rotate_180.jpg}\label{fig:simple.rotate180}}
+ \subfigure[{\tt rotate\char`\_180(mural)}]{\includegraphics[width=1.85in]{images/mural_rotate_180.jpg}\label{fig:simple.rotate180}}
- \subfigure[{\tt rotate\char`\_90\char`\_cw(mural)}]{\hbox{\hspace{0.25in}\includegraphics[height=2in]{images/mural_rotate_90_cw.jpg}\hspace{0.25in}\ \label{fig:simple.rotate90cw}}}
+ \subfigure[{\tt rotate\char`\_90\char`\_cw(mural)}]{\hbox{\hspace{0.25in}\includegraphics[height=1.85in]{images/mural_rotate_90_cw.jpg}\hspace{0.25in}\ \label{fig:simple.rotate90cw}}}
- \subfigure[{\tt rotate\char`\_90\char`\_ccw(mural)}]{\hbox{\hspace{0.25in}\includegraphics[height=2in]{images/mural_rotate_90_ccw.jpg}\hspace{0.25in}\ \label{fig:simple.rotate90ccw}}}
+ \subfigure[{\tt rotate\char`\_90\char`\_ccw(mural)}]{\hbox{\hspace{0.25in}\includegraphics[height=1.85in]{images/mural_rotate_90_ccw.jpg}\hspace{0.25in}\ \label{fig:simple.rotate90ccw}}}
- \subfigure[{\tt transpose(mural)}]{\includegraphics[height=2in]{images/mural_transpose.jpg}\label{fig:simple.transpose}}
+ \subfigure[{\tt transpose(mural)}]{\includegraphics[height=1.85in]{images/mural_transpose.jpg}\label{fig:simple.transpose}}
- \subfigure[{\tt flip\char`\_vertical(mural)}]{\includegraphics[width=2in]{images/mural_flip_vertical.jpg}\label{fig:simple.flipv}}
+ \subfigure[{\tt flip\char`\_vertical(mural)}]{\includegraphics[width=1.85in]{images/mural_flip_vertical.jpg}\label{fig:simple.flipv}}
- \subfigure[{\tt flip\char`\_horizontal(mural)}]{\includegraphics[width=2in]{images/mural_flip_horizontal.jpg}\label{fig:simple.fliph}}
+ \subfigure[{\tt flip\char`\_horizontal(mural)}]{\includegraphics[width=1.85in]{images/mural_flip_horizontal.jpg}\label{fig:simple.fliph}}
- \subfigure[{\tt crop(mural,80,60,160,120)}]{\hbox{\hspace{0.5in}\includegraphics[width=1in]{images/mural_crop.jpg}\hspace{0.5in}\ \label{fig:simple.crop}}}
+ \subfigure[{\tt crop(mural,80,60,160,120)}]{\hbox{\hspace{0.5in}\includegraphics[width=0.925in]{images/mural_crop.jpg}\hspace{0.5in}\ \label{fig:simple.crop}}}
- \subfigure[{\tt subsample(mural,2)}]{\hbox{\hspace{0.5in}\includegraphics[width=1in]{images/mural_subsample.jpg}\hspace{0.5in}\ \label{fig:simple.subsample}}}
+ \subfigure[{\tt subsample(mural,2)}]{\hbox{\hspace{0.5in}\includegraphics[width=0.925in]{images/mural_subsample.jpg}\hspace{0.5in}\ \label{fig:simple.subsample}}}
- \subfigure[{\tt threshold(mural,0.5)}]{\includegraphics[width=2in]{images/mural_threshold.jpg}\label{fig:simple.threshold}}
+ \subfigure[{\tt threshold(mural,0.5)}]{\includegraphics[width=1.85in]{images/mural_threshold.jpg}\label{fig:simple.threshold}}
- \subfigure[{\tt clamp(mural,0.25,0.75)}]{\includegraphics[width=2in]{images/mural_clamp.jpg}\label{fig:simple.clamp}}
+ \subfigure[{\tt clamp(mural,0.25,0.75)}]{\includegraphics[width=1.85in]{images/mural_clamp.jpg}\label{fig:simple.clamp}}
\caption{Sample output from the simple image operations discussed in this section.}

0 comments on commit 331c700

Please sign in to comment.
Something went wrong with that request. Please try again.