100% found this document useful (1 vote)
10 views56 pages

Image analysis, classification and change detection in remote sensing: with algorithms for Python Fourth Edition Canty instant download

The document is about the book 'Image Analysis, Classification, and Change Detection in Remote Sensing: With Algorithms for Python, Fourth Edition' by Morton John Canty, which covers various aspects of remote sensing and image analysis. It includes links to download the book and additional resources related to remote sensing and image processing. The book is published by CRC Press and includes a comprehensive range of topics relevant to the field.

Uploaded by

zxmybqw8512
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
10 views56 pages

Image analysis, classification and change detection in remote sensing: with algorithms for Python Fourth Edition Canty instant download

The document is about the book 'Image Analysis, Classification, and Change Detection in Remote Sensing: With Algorithms for Python, Fourth Edition' by Morton John Canty, which covers various aspects of remote sensing and image analysis. It includes links to download the book and additional resources related to remote sensing and image processing. The book is published by CRC Press and includes a comprehensive range of topics relevant to the field.

Uploaded by

zxmybqw8512
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 56

Image analysis, classification and change

detection in remote sensing: with algorithms for


Python Fourth Edition Canty download

https://textbookfull.com/product/image-analysis-classification-
and-change-detection-in-remote-sensing-with-algorithms-for-
python-fourth-edition-canty/

Download full version ebook from https://textbookfull.com


We believe these products will be a great fit for you. Click
the link to download now, or visit textbookfull.com
to discover even more!

Image Analysis, Classification, and Change Detection in


Remote Sensing: With Algorithms for Python 4th Edition
Morton John Canty

https://textbookfull.com/product/image-analysis-classification-
and-change-detection-in-remote-sensing-with-algorithms-for-
python-4th-edition-morton-john-canty/

Fuzzy Machine Learning Algorithms for Remote Sensing


Image Classification 1st Edition Anil Kumar

https://textbookfull.com/product/fuzzy-machine-learning-
algorithms-for-remote-sensing-image-classification-1st-edition-
anil-kumar/

Image processing and GIS for remote sensing :


techniques and applications Second Edition Liu

https://textbookfull.com/product/image-processing-and-gis-for-
remote-sensing-techniques-and-applications-second-edition-liu/

Multisensor Image Fusion and Data Mining for


Environmental Remote Sensing First Edition Bai

https://textbookfull.com/product/multisensor-image-fusion-and-
data-mining-for-environmental-remote-sensing-first-edition-bai/
Remote sensing of vegetation. Hyperspectral indices and
image classifications for agriculture and vegetation
Second Edition Huete

https://textbookfull.com/product/remote-sensing-of-vegetation-
hyperspectral-indices-and-image-classifications-for-agriculture-
and-vegetation-second-edition-huete/

Hyperspectral Imaging Remote Sensing Physics Sensors


and Algorithms 1st Edition Dimitris G. Manolakis

https://textbookfull.com/product/hyperspectral-imaging-remote-
sensing-physics-sensors-and-algorithms-1st-edition-dimitris-g-
manolakis/

Spatial Analysis for Radar Remote Sensing of Tropical


Forests 1st Edition Gianfranco D. De Grandi

https://textbookfull.com/product/spatial-analysis-for-radar-
remote-sensing-of-tropical-forests-1st-edition-gianfranco-d-de-
grandi/

Deep Learning for Remote Sensing Images with Open


Source Software 1st Edition Rémi Cresson

https://textbookfull.com/product/deep-learning-for-remote-
sensing-images-with-open-source-software-1st-edition-remi-
cresson/

Introductory digital image processing: A remote sensing


perspective John R. Jensen & Dr. Kalmesh Lulla

https://textbookfull.com/product/introductory-digital-image-
processing-a-remote-sensing-perspective-john-r-jensen-dr-kalmesh-
lulla/
Image Analysis,
Classification, and Change
Detection in Remote
Sensing
With Algorithms for Python
Fourth edition
Image Analysis,
Classification, and Change
Detection in Remote
Sensing
With Algorithms for Python
Fourth edition

Morton John Canty


CRC Press
Taylor & Francis Group
6000 Broken Sound Parkway NW, Suite 300
Boca Raton, FL 33487-2742

© 2019 by Taylor & Francis Group, LLC


CRC Press is an imprint of Taylor & Francis Group, an Informa business

No claim to original U.S. Government works

Printed on acid-free paper


Version Date: 20190130

International Standard Book Number-13: 978-1-138-61322-5 (Hardback)

This book contains information obtained from authentic and highly regarded sources. Reasonable
efforts have been made to publish reliable data and information, but the author and publisher cannot
assume responsibility for the validity of all materials or the consequences of their use. The authors and
publishers have attempted to trace the copyright holders of all material reproduced in this publication
and apologize to copyright holders if permission to publish in this form has not been obtained. If any
copyright material has not been acknowledged please write and let us know so we may rectify in any
future reprint.
Except as permitted under U.S. Copyright Law, no part of this book may be reprinted, reproduced,
transmitted, or utilized in any form by any electronic, mechanical, or other means, now known or
hereafter invented, including photocopying, microfilming, and recording, or in any information
storage or retrieval system, without written permission from the publishers.

For permission to photocopy or use material electronically from this work, please access
www.copyright.com (http://www.copyright.com/) or contact the Copyright Clearance Center, Inc.
(CCC), 222 Rosewood Drive, Danvers, MA 01923, 978-750-8400. CCC is a not-for-profit organization
that provides licenses and registration for a variety of users. For organizations that have been granted
a photocopy license by the CCC, a separate system of payment has been arranged.

Trademark Notice: Product or corporate names may be trademarks or registered trademarks, and
are used only for identification and explanation without intent to infringe.

Library of Congress Cataloging-in-Publication Data

Names: Canty, Morton John, author.


Title: Image analysis, classification and change detection in remote sensing
: with algorithms for Python / by Morton J. Canty.
Description: Fourth edition. | Boca Raton, FL : CRC Press/Taylor & Francis
Group, 2019. | Includes bibliographical references and index.
Identifiers: LCCN 2018051975| ISBN 9781138613225 (hardback : acid-free paper)
| ISBN 9780429464348 (ebook)
Subjects: LCSH: Remote sensing--Mathematics. | Image analysis--Mathematics. |
Image analysis--Data processing. | Python (Computer program language)
Classification: LCC G70.4 .C36 2019 | DDC 621.36/70285--dc23
LC record available at https://lccn.loc.gov/2018051975

Visit the Taylor & Francis Web site at


http://www.taylorandfrancis.com
and the CRC Press Web site at
http://www.crcpress.com
Contents

Preface to the First Edition xiii

Preface to the Second Edition xv

Preface to the Third Edition xvii

Preface to the Fourth Edition xx

Author Biography xxi

1 Images, Arrays, and Matrices 1


1.1 Multispectral satellite images . . . . . . . . . . . . . . . . . . 4
1.2 Synthetic aperture radar images . . . . . . . . . . . . . . . . . 7
1.3 Algebra of vectors and matrices . . . . . . . . . . . . . . . . . 10
1.3.1 Elementary properties . . . . . . . . . . . . . . . . . . 11
1.3.2 Square matrices . . . . . . . . . . . . . . . . . . . . . . 13
1.3.3 Singular matrices . . . . . . . . . . . . . . . . . . . . . 15
1.3.4 Symmetric, positive definite matrices . . . . . . . . . . 15
1.3.5 Linear dependence and vector spaces . . . . . . . . . . 16
1.4 Eigenvalues and eigenvectors . . . . . . . . . . . . . . . . . . 17
1.5 Singular value decomposition . . . . . . . . . . . . . . . . . . 19
1.6 Finding minima and maxima . . . . . . . . . . . . . . . . . . 21
1.7 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

2 Image Statistics 31
2.1 Random variables . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.1.1 Discrete random variables . . . . . . . . . . . . . . . . 32
2.1.2 Continuous random variables . . . . . . . . . . . . . . 33
2.1.3 Random vectors . . . . . . . . . . . . . . . . . . . . . 36
2.1.4 The normal distribution . . . . . . . . . . . . . . . . . 39
2.1.5 The gamma distribution and its derivatives . . . . . . 41
2.2 Parameter estimation . . . . . . . . . . . . . . . . . . . . . . . 44
2.2.1 Random samples . . . . . . . . . . . . . . . . . . . . . 44
2.2.2 Sample distributions and interval estimators . . . . . . 47
2.3 Multivariate distributions . . . . . . . . . . . . . . . . . . . . 50
2.3.1 Vector sample functions and the data matrix . . . . . 51
2.3.2 Provisional means . . . . . . . . . . . . . . . . . . . . 53

v
vi Image Analysis, Classification, and Change Detection in Remote Sensing

2.3.3 Real and complex multivariate sample distributions . . 55


2.4 Bayes’ Theorem, likelihood and classification . . . . . . . . . 57
2.5 Hypothesis testing . . . . . . . . . . . . . . . . . . . . . . . . 60
2.6 Ordinary linear regression . . . . . . . . . . . . . . . . . . . . 65
2.6.1 One independent variable . . . . . . . . . . . . . . . . 65
2.6.2 Coefficient of determination (R2 ) . . . . . . . . . . . . 67
2.6.3 More than one independent variable . . . . . . . . . . 68
2.6.4 Regularization, duality and the Gram matrix . . . . . 72
2.7 Entropy and information . . . . . . . . . . . . . . . . . . . . . 73
2.7.1 Kullback–Leibler divergence . . . . . . . . . . . . . . . 75
2.7.2 Mutual information . . . . . . . . . . . . . . . . . . . . 76
2.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

3 Transformations 83
3.1 The discrete Fourier transform . . . . . . . . . . . . . . . . . 83
3.2 The discrete wavelet transform . . . . . . . . . . . . . . . . . 88
3.2.1 Haar wavelets . . . . . . . . . . . . . . . . . . . . . . . 89
3.2.2 Image compression . . . . . . . . . . . . . . . . . . . . 93
3.2.3 Multiresolution analysis . . . . . . . . . . . . . . . . . 96
3.3 Principal components . . . . . . . . . . . . . . . . . . . . . . 103
3.3.1 Principal components on the GEE . . . . . . . . . . . 105
3.3.2 Image compression and reconstruction . . . . . . . . . 107
3.3.3 Primal solution . . . . . . . . . . . . . . . . . . . . . . 111
3.3.4 Dual solution . . . . . . . . . . . . . . . . . . . . . . . 111
3.4 Minimum noise fraction . . . . . . . . . . . . . . . . . . . . . 112
3.4.1 Additive noise . . . . . . . . . . . . . . . . . . . . . . . 113
3.4.2 Minimum noise fraction via PCA . . . . . . . . . . . . 116
3.5 Spatial correlation . . . . . . . . . . . . . . . . . . . . . . . . 117
3.5.1 Maximum autocorrelation factor . . . . . . . . . . . . 117
3.5.2 Noise estimation . . . . . . . . . . . . . . . . . . . . . 119
3.6 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

4 Filters, Kernels, and Fields 127


4.1 The Convolution Theorem . . . . . . . . . . . . . . . . . . . . 127
4.2 Linear filters . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
4.3 Wavelets and filter banks . . . . . . . . . . . . . . . . . . . . 135
4.3.1 One-dimensional arrays . . . . . . . . . . . . . . . . . 136
4.3.2 Two-dimensional arrays . . . . . . . . . . . . . . . . . 141
4.4 Kernel methods . . . . . . . . . . . . . . . . . . . . . . . . . . 144
4.4.1 Valid kernels . . . . . . . . . . . . . . . . . . . . . . . 144
4.4.2 Kernel PCA . . . . . . . . . . . . . . . . . . . . . . . . 149
4.5 Gibbs–Markov random fields . . . . . . . . . . . . . . . . . . 152
4.6 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Contents vii

5 Image Enhancement and Correction 159


5.1 Lookup tables and histogram functions . . . . . . . . . . . . . 159
5.2 High-pass spatial filtering and feature extraction . . . . . . . 161
5.2.1 Sobel filter . . . . . . . . . . . . . . . . . . . . . . . . 161
5.2.2 Laplacian-of-Gaussian filter . . . . . . . . . . . . . . . 164
5.2.3 OpenCV and GEE algorithms . . . . . . . . . . . . . . 166
5.2.4 Invariant moments . . . . . . . . . . . . . . . . . . . . 171
5.3 Panchromatic sharpening . . . . . . . . . . . . . . . . . . . . 177
5.3.1 HSV fusion . . . . . . . . . . . . . . . . . . . . . . . . 178
5.3.2 Brovey fusion . . . . . . . . . . . . . . . . . . . . . . . 179
5.3.3 PCA fusion . . . . . . . . . . . . . . . . . . . . . . . . 179
5.3.4 DWT fusion . . . . . . . . . . . . . . . . . . . . . . . . 180
5.3.5 À trous fusion . . . . . . . . . . . . . . . . . . . . . . . 181
5.3.6 A quality index . . . . . . . . . . . . . . . . . . . . . . 184
5.4 Radiometric correction of polarimetric SAR imagery . . . . . 185
5.4.1 Speckle statistics . . . . . . . . . . . . . . . . . . . . . 185
5.4.2 Multi-look data . . . . . . . . . . . . . . . . . . . . . . 188
5.4.3 Speckle filtering . . . . . . . . . . . . . . . . . . . . . . 193
5.5 Topographic correction . . . . . . . . . . . . . . . . . . . . . . 200
5.5.1 Rotation, scaling and translation . . . . . . . . . . . . 201
5.5.2 Imaging transformations . . . . . . . . . . . . . . . . . 202
5.5.3 Camera models and RFM approximations . . . . . . . 203
5.5.4 Stereo imaging and digital elevation models . . . . . . 205
5.5.5 Slope and aspect . . . . . . . . . . . . . . . . . . . . . 210
5.5.6 Illumination correction . . . . . . . . . . . . . . . . . . 211
5.6 Image–image registration . . . . . . . . . . . . . . . . . . . . 216
5.6.1 Frequency domain registration . . . . . . . . . . . . . 217
5.6.2 Feature matching . . . . . . . . . . . . . . . . . . . . . 219
5.6.3 Re-sampling with ground control points . . . . . . . . 223
5.7 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225

6 Supervised Classification Part 1 231


6.1 Maximizing the a posteriori probability . . . . . . . . . . . . 233
6.2 Training data and separability . . . . . . . . . . . . . . . . . . 234
6.3 Maximum likelihood classification . . . . . . . . . . . . . . . . 239
6.3.1 Naive Bayes on the GEE . . . . . . . . . . . . . . . . . 240
6.3.2 Python scripts for supervised classification . . . . . . . 241
6.4 Gaussian kernel classification . . . . . . . . . . . . . . . . . . 245
6.5 Neural networks . . . . . . . . . . . . . . . . . . . . . . . . . . 248
6.5.1 The neural network classifier . . . . . . . . . . . . . . 253
6.5.2 Cost functions . . . . . . . . . . . . . . . . . . . . . . 256
6.5.3 Backpropagation . . . . . . . . . . . . . . . . . . . . . 258
6.5.4 A deep learning network . . . . . . . . . . . . . . . . . 264
6.5.5 Overfitting and generalization . . . . . . . . . . . . . . 268
6.6 Support vector machines . . . . . . . . . . . . . . . . . . . . . 270
viii Image Analysis, Classification, and Change Detection in Remote Sensing

6.6.1 Linearly separable classes . . . . . . . . . . . . . . . . 270


6.6.2 Overlapping classes . . . . . . . . . . . . . . . . . . . . 276
6.6.3 Solution with sequential minimal optimization . . . . . 278
6.6.4 Multiclass SVMs . . . . . . . . . . . . . . . . . . . . . 279
6.6.5 Kernel substitution . . . . . . . . . . . . . . . . . . . . 280
6.7 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284

7 Supervised Classification Part 2 289


7.1 Postprocessing . . . . . . . . . . . . . . . . . . . . . . . . . . 289
7.1.1 Majority filtering . . . . . . . . . . . . . . . . . . . . . 290
7.1.2 Probabilistic label relaxation . . . . . . . . . . . . . . 290
7.2 Evaluation and comparison of classification accuracy . . . . . 293
7.2.1 Accuracy assessment . . . . . . . . . . . . . . . . . . . 293
7.2.2 Accuracy assessment on the GEE . . . . . . . . . . . . 298
7.2.3 Cross-validation on parallel architectures . . . . . . . . 299
7.2.4 Model comparison . . . . . . . . . . . . . . . . . . . . 302
7.3 Adaptive boosting . . . . . . . . . . . . . . . . . . . . . . . . 306
7.4 Classification of polarimetric SAR imagery . . . . . . . . . . . 312
7.5 Hyperspectral image analysis . . . . . . . . . . . . . . . . . . 314
7.5.1 Spectral mixture modeling . . . . . . . . . . . . . . . . 314
7.5.2 Unconstrained linear unmixing . . . . . . . . . . . . . 317
7.5.3 Intrinsic end-members and pixel purity . . . . . . . . . 318
7.5.4 Anomaly detection: The RX algorithm . . . . . . . . . 319
7.5.5 Anomaly detection: The kernel RX algorithm . . . . . 322
7.6 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326

8 Unsupervised Classification 329


8.1 Simple cost functions . . . . . . . . . . . . . . . . . . . . . . . 330
8.2 Algorithms that minimize the simple cost functions . . . . . . 332
8.2.1 K-means clustering . . . . . . . . . . . . . . . . . . . . 333
8.2.2 Kernel K-means clustering . . . . . . . . . . . . . . . . 338
8.2.3 Extended K-means clustering . . . . . . . . . . . . . . 341
8.2.4 Agglomerative hierarchical clustering . . . . . . . . . . 344
8.2.5 Fuzzy K-means clustering . . . . . . . . . . . . . . . . 347
8.3 Gaussian mixture clustering . . . . . . . . . . . . . . . . . . . 349
8.3.1 Expectation maximization . . . . . . . . . . . . . . . . 350
8.3.2 Simulated annealing . . . . . . . . . . . . . . . . . . . 353
8.3.3 Partition density . . . . . . . . . . . . . . . . . . . . . 353
8.3.4 Implementation notes . . . . . . . . . . . . . . . . . . 354
8.4 Including spatial information . . . . . . . . . . . . . . . . . . 354
8.4.1 Multiresolution clustering . . . . . . . . . . . . . . . . 354
8.4.2 Spatial clustering . . . . . . . . . . . . . . . . . . . . . 357
8.5 A benchmark . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
8.6 The Kohonen self-organizing map . . . . . . . . . . . . . . . . 362
8.7 Image segmentation and the mean shift . . . . . . . . . . . . 366
Contents ix

8.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368

9 Change Detection 375


9.1 Naive methods . . . . . . . . . . . . . . . . . . . . . . . . . . 376
9.2 Principal components analysis (PCA) . . . . . . . . . . . . . 378
9.2.1 Iterated PCA . . . . . . . . . . . . . . . . . . . . . . . 380
9.2.2 Kernel PCA . . . . . . . . . . . . . . . . . . . . . . . . 382
9.3 Multivariate alteration detection (MAD) . . . . . . . . . . . . 384
9.3.1 Canonical correlation analysis (CCA) . . . . . . . . . . 385
9.3.2 Orthogonality properties . . . . . . . . . . . . . . . . . 388
9.3.3 Iteratively re-weighted MAD . . . . . . . . . . . . . . 389
9.3.4 Scale invariance . . . . . . . . . . . . . . . . . . . . . . 391
9.3.5 Correlation with the original observations . . . . . . . 392
9.3.6 Regularization . . . . . . . . . . . . . . . . . . . . . . 394
9.3.7 Postprocessing . . . . . . . . . . . . . . . . . . . . . . 396
9.4 Unsupervised change classification . . . . . . . . . . . . . . . 397
9.5 iMAD on the Google Earth Engine . . . . . . . . . . . . . . . 399
9.6 Change detection with polarimetric SAR imagery . . . . . . . 401
9.6.1 Scalar imagery: the gamma distribution . . . . . . . . 402
9.6.2 Polarimetric imagery: the complex Wishart distribu-
tion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
9.6.3 Python software . . . . . . . . . . . . . . . . . . . . . 409
9.6.4 SAR change detection on the Google Earth Engine . . 413
9.7 Radiometric normalization of visual/infrared images . . . . . 415
9.7.1 Scatterplot matching . . . . . . . . . . . . . . . . . . . 416
9.7.2 Automatic radiometric normalization . . . . . . . . . . 419
9.8 RESTful change detection on the GEE . . . . . . . . . . . . . 422
9.9 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422

A Mathematical Tools 427


A.1 Cholesky decomposition . . . . . . . . . . . . . . . . . . . . . 427
A.2 Vector and inner product spaces . . . . . . . . . . . . . . . . 429
A.3 Complex numbers, vectors and matrices . . . . . . . . . . . . 430
A.4 Least squares procedures . . . . . . . . . . . . . . . . . . . . . 432
A.4.1 Recursive linear regression . . . . . . . . . . . . . . . . 432
A.4.2 Orthogonal linear regression . . . . . . . . . . . . . . . 434
A.5 Proof of Theorem 7.1 . . . . . . . . . . . . . . . . . . . . . . . 437

B Efficient Neural Network Training Algorithms 441


B.1 The Hessian matrix . . . . . . . . . . . . . . . . . . . . . . . . 441
B.1.1 The R-operator . . . . . . . . . . . . . . . . . . . . . . 442
B.1.2 Calculating the Hessian . . . . . . . . . . . . . . . . . 445
B.2 Scaled conjugate gradient training . . . . . . . . . . . . . . . 447
B.2.1 Conjugate directions . . . . . . . . . . . . . . . . . . . 447
B.2.2 Minimizing a quadratic function . . . . . . . . . . . . 449
x Image Analysis, Classification, and Change Detection in Remote Sensing

B.2.3 The algorithm . . . . . . . . . . . . . . . . . . . . . . . 451


B.3 Extended Kalman filter training . . . . . . . . . . . . . . . . . 455
B.3.1 Linearization . . . . . . . . . . . . . . . . . . . . . . . 456
B.3.2 The algorithm . . . . . . . . . . . . . . . . . . . . . . . 457

C Software 463
C.1 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
C.2 Command line utilities . . . . . . . . . . . . . . . . . . . . . . 464
C.2.1 gdal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
C.2.2 earthengine . . . . . . . . . . . . . . . . . . . . . . . . 464
C.2.3 ipcluster . . . . . . . . . . . . . . . . . . . . . . . . . . 465
C.3 Source code . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
C.4 Python scripts . . . . . . . . . . . . . . . . . . . . . . . . . . 465
C.4.1 adaboost.py . . . . . . . . . . . . . . . . . . . . . . . . 466
C.4.2 atwt.py . . . . . . . . . . . . . . . . . . . . . . . . . . 466
C.4.3 c corr.py . . . . . . . . . . . . . . . . . . . . . . . . . . 467
C.4.4 classify.py . . . . . . . . . . . . . . . . . . . . . . . . . 467
C.4.5 crossvalidate.py . . . . . . . . . . . . . . . . . . . . . . 468
C.4.6 ct.py . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
C.4.7 dispms.py . . . . . . . . . . . . . . . . . . . . . . . . . 469
C.4.8 dwt.py . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
C.4.9 eeMad.py . . . . . . . . . . . . . . . . . . . . . . . . . 470
C.4.10 eeSar seq.py . . . . . . . . . . . . . . . . . . . . . . . . 471
C.4.11 eeWishart.py . . . . . . . . . . . . . . . . . . . . . . . 471
C.4.12 ekmeans.py . . . . . . . . . . . . . . . . . . . . . . . . 472
C.4.13 em.py . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
C.4.14 enlml.py . . . . . . . . . . . . . . . . . . . . . . . . . . 473
C.4.15 gamma filter.py . . . . . . . . . . . . . . . . . . . . . . 473
C.4.16 hcl.py . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
C.4.17 iMad.py . . . . . . . . . . . . . . . . . . . . . . . . . . 474
C.4.18 iMadmap.py . . . . . . . . . . . . . . . . . . . . . . . . 475
C.4.19 kkmeans.py . . . . . . . . . . . . . . . . . . . . . . . . 475
C.4.20 kmeans.py . . . . . . . . . . . . . . . . . . . . . . . . . 476
C.4.21 kpca.py . . . . . . . . . . . . . . . . . . . . . . . . . . 476
C.4.22 krx.py . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
C.4.23 mcnemar.py . . . . . . . . . . . . . . . . . . . . . . . . 477
C.4.24 meanshift.py . . . . . . . . . . . . . . . . . . . . . . . 477
C.4.25 mmse filter.py . . . . . . . . . . . . . . . . . . . . . . . 478
C.4.26 mnf.py . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
C.4.27 pca.py . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
C.4.28 plr.py . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
C.4.29 radcal.py . . . . . . . . . . . . . . . . . . . . . . . . . 479
C.4.30 readshp.py . . . . . . . . . . . . . . . . . . . . . . . . . 480
C.4.31 registerms.py . . . . . . . . . . . . . . . . . . . . . . . 480
C.4.32 registersar.py . . . . . . . . . . . . . . . . . . . . . . . 481
Contents xi

C.4.33 rx.py . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482


C.4.34 sar seq.py . . . . . . . . . . . . . . . . . . . . . . . . . 482
C.4.35 scatterplot.py . . . . . . . . . . . . . . . . . . . . . . . 483
C.4.36 som.py . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
C.4.37 subset.py . . . . . . . . . . . . . . . . . . . . . . . . . 484
C.5 JavaScript on the GEE Code Editor . . . . . . . . . . . . . . 484
C.5.1 imad run . . . . . . . . . . . . . . . . . . . . . . . . . 484
C.5.2 omnibus run . . . . . . . . . . . . . . . . . . . . . . . 484
C.5.3 omnibus view . . . . . . . . . . . . . . . . . . . . . . . 485
C.5.4 imad . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
C.5.5 omnibus . . . . . . . . . . . . . . . . . . . . . . . . . . 485
C.5.6 utilities . . . . . . . . . . . . . . . . . . . . . . . . . . 485

Mathematical Notation 487

References 489

Index 501
Preface to the First Edition

This textbook had its beginnings as a set of notes to accompany seminars and
lectures conducted at the Geographical Institute of Bonn University and at its
associated Center for Remote Sensing of Land Cover. Lecture notes typically
continue to be refined and polished over the years until the question inevitably
poses itself: “Why not have them published?” The answer of course is “By all
means, if they contribute something new and useful.”
So what is “new and useful” here? This is a book about remote sensing
image analysis with a distinctly mathematical-algorithmic-computer-oriented
flavor, intended for graduate-level teaching and with, to borrow from the re-
mote sensing jargon, a rather restricted FOV. It does not attempt to match
the wider fields of view of existing texts on the subject, such as Schowengerdt
(1997), Richards (2012), Jensen (2005) and others. However, the topics that
are covered are dealt with in considerable depth, and I believe that this cov-
erage fills an important gap. Many aspects of the analysis of remote sensing
data are quite technical and tend to be intimidating to students with moder-
ate mathematical backgrounds. At the same time, one often witnesses a desire
on the part of students to apply advanced methods and to modify them to
fit their particular research problems. Fulfilling the latter wish, in particular,
requires more than superficial understanding of the material.
The focus of the book is on pixel-oriented analysis of visual/infrared Earth
observation satellite imagery. Among the topics that get the most attention
are the discrete wavelet transform, image fusion, supervised classification with
neural networks, clustering algorithms and statistical change detection meth-
ods. The first two chapters introduce the mathematical and statistical tools
necessary in order to follow later developments. Chapters 3 and 4 deal with
spatial/spectral transformations, convolutions and filtering of multispectral
image arrays. Chapter 5 treats image enhancement and some of the prepro-
cessing steps that precede classification and change detection. Chapters 6 and
7 are concerned, respectively, with supervised and unsupervised land cover
classification. The last chapter is about change detection with heavy emphasis
on the use of canonical correlation analysis. Each of the 8 chapters concludes
with exercises, some of which are small programming projects, intended to
illustrate or justify the foregoing development. Solutions to the exercises are
included in a separate booklet. Appendix A provides some additional mathe-
matical/statistical background and Appendix B develops two efficient training
algorithms for neural networks. Finally, Appendix C describes the installation
and use of the many computer programs introduced in the course of the book.

xiii
xiv Image Analysis, Classification and Change Detection in Remote Sensing

I’ve made considerable effort to maintain a consistent, clear mathemati-


cal style throughout. Although the developments in the text are admittedly
uncompromising, there is nothing that, given a little perseverance, cannot
be followed by a reader who has grasped the elementary matrix algebra and
statistical concepts explained in the first two chapters. If the student has am-
bitions to write his or her own image analysis programs, then he or she must
be prepared to “get the maths right” beforehand. There are, heaven knows,
enough pitfalls to worry about thereafter.
All of the illustrations and applications in the text are programmed in RSI’s
ENVI/IDL. The software is available for download at the publisher’s website:
http://www.crcpress.com/e products/downloads/default.asp
Given the plethora of image analysis and geographic information system (GIS)
software systems on the market or available under open source license, one
might think that the choice of computer environment would have been diffi-
cult. It wasn’t. IDL is an extremely powerful, array- and graphics-oriented,
universal programming language with a versatile interface (ENVI) for im-
porting and analyzing remote sensing data — a peerless combination for my
purposes. Extending the ENVI interface in IDL in order to implement new
methods and algorithms of arbitrary sophistication is both easy and fun.
So, apart from some exposure to elementary calculus (and the aforesaid
perseverance), the only other prerequisites for the book are a little familiarity
with the ENVI environment and the basic knowledge of IDL imparted by such
excellent introductions as Fanning (2000) or Gumley (2002). For everyday
problems with IDL at any level from “newbie” on upward, help and solace are
available at the newsgroup
comp.lang.idl-pvwave
frequented by some of the friendliest and most competent gurus on the net.
I would like to express my thanks to Rudolf Avenhaus and Allan Nielsen
for their many comments and suggestions for improvement of the manuscript
and to CRC Press for competent assistance in its preparation. Part of the
software documented in the text was developed within the Global Monitor-
ing for Security and Stability (GMOSS) network of excellence funded by the
European Commission.

Morton Canty
Preface to the Second Edition

Shortly after the manuscript for the first edition of this book went to the
publisher, ENVI 4.3 appeared along with, among other new features, a support
vector machine classifier. Although my decision not to include the SVM in
the original text was a conscious one (I balked at the thought of writing my
own IDL implementation), this event did point to a rather glaring omission
in a book purporting to be partly about land use/land cover classification.
So, almost immediately, I began to dream of a Revised Second Edition and
to pester CRC Press for a contract. This was happily forthcoming and the
present edition now has a fairly long section on supervised classification with
support vector machines.
The SVM is just one example of so-called kernel methods for nonlinear
data analysis, and I decided to make kernelization one of the themes of the
revised text. The treatment begins with a dual formulation for ridge regression
in Chapter 2 and continues through kernel principal components analysis in
Chapters 3 and 4, support vector machines in Chapter 6, kernel K-means clus-
tering in Chapter 8 and nonlinear change detection in Chapter 9. Other new
topics include entropy and mutual information (Chapter 1), adaptive boosting
(Chapter 7) and image segmentation (Chapter 8). In order to accommodate
the extended material on supervised classification, discussion is now spread
over the two Chapters 6 and 7. The exercises at the end of each chapter have
been extended and re-worked and, as for the first edition, a solutions manual
is provided.
I have written several additional IDL extensions to ENVI to accompany the
new themes, which are available, together with updated versions of previous
programs, for download on the Internet. In order to accelerate some of the
more computationally intensive routines for users with access to CUDA (par-
allel processing on NVIDIA graphics processors), code is included which can
make use of the IDL bindings to CUDA provided by Tech-X Corporation in
their GPULib product:
http://gpulib.txcorp.com
Notwithstanding the revisions, the present edition remains a monograph
on pixel-oriented analysis of intermediate-resolution remote sensing imagery
with emphasis on the development and programming of statistically moti-
vated, data-driven algorithms. Important topics such as object-based feature
analysis (for high-resolution imagery), or the physics of the radiation/surface
interaction (for example, in connection with hyperspectral sensing) are only

xv
xvi Image Analysis, Classification and Change Detection in Remote Sensing

touched upon briefly, and the huge field of radar remote sensing is left out
completely. Nevertheless, I hope that the in-depth focus on the topics covered
will continue to be of use both to practitioners as well as to teachers.
I would like to express my appreciation to Peter Reinartz and the German
Aerospace Center for permission to use the traffic scene images in Chapter 9
and to NASA’s Land Processes Distributed Active Archive Center for free and
uncomplicated access to archived ASTER imagery. Thanks also go to Peter
Messmer and Michael Galloy, Tech-X Corp., for their prompt responses to my
many cries for help with GPULib. I am especially grateful to my colleagues
Harry Vereecken and Allan Nielsen, the former for generously providing me
with the environment and resources needed to complete this book, the latter
for the continuing inspiration of our friendship and long-time collaboration.

Morton Canty
Preface to the Third Edition

A main incentive for me to write a third edition of this book stemmed from my
increasing enthusiasm for the Python programming language. I began to see
the advantage of illustrating the many image processing algorithms covered
in earlier editions of the text not only in the powerful and convenient, but
not inexpensive, ENVI/IDL world, but also on a widely available open source
platform. Python, together with the NumPy and Scipy packages, can hold its
own with any commercial array processing software system. Furthermore, the
Geospatial Data Abstraction Library (GDAL) and its Python wrappers allow
for great versatility and convenience in reading, writing and manipulating dif-
ferent image formats. This was enough to get me going on a revised textbook,
one which I hope will have appeal beyond the ENVI/IDL community.
Another incentive for a new edition was hinted at in the preface to the
previous edition, namely the lack of any discussion of the vast and increas-
ingly important field of radar remote sensing. Obviously this would be a topic
for (at least) a whole new book, so I have included material only on a very
special aspect of particular interest to me, namely multivariate statistical clas-
sification and change detection algorithms applied to polarimetric synthetic
aperture radar (polSAR) data. Up until recently, not many researchers or
practitioners have had access to this kind of data. However with the advent of
several spaceborne polarimetric SAR instruments such as the Japanese ALOS,
the Canadian Radarsat-2, the German TerraSAR-X and the Italian COSMO-
SkyMed missions, the situation has greatly improved. Chapters 5, 7 and 9
now include treatments of speckle filtering, image co-registration, supervised
classification and multivariate change detection with multi-look polSAR data.
The software associated with the present edition includes, along with the
ENVI/IDL extensions, Python scripts for all of the main processing, classifi-
cation and change detection algorithms. In addition, many examples discussed
in the text are illustrated with Python scripts as well as in IDL. The Appen-
dices C and D separately document the installation and use of the ENVI/IDL
and Python code. For readers who wish to use the Eclipse/Pydev development
environment (something which I highly recommend), the Python scripts are
provided in the form of a Pydev project.
What is missing in the Python world, of course, is the slick GUI provided
by ENVI. I have made no attempt to mimic an ENVI graphical environment
in Python, and the scripts provided content themselves with reading imagery
from, and writing results to, the file system. A rudimentary command line
script for RGB displays of multispectral band combinations in different his-

xvii
xviiiImage Analysis, Classification and Change Detection in Remote Sensing

togram enhancement modes is included.


For an excellent introduction to scientific computing in Python see Lang-
tangen (2009). The book by Westra (2013) provides valuable tips on geospatial
development in Python, including GDAL programming. The definitive refer-
ence on IDL is now certainly Galloy (2011), an absolute must for anyone who
uses the language professionally.
With version 5.0, a new ENVI graphics environment and associated API has
appeared which has a very different look and feel to the old “ENVI Classic”
environment, as it is officially referred to. Fortunately the classic environment
is still available and, for reasons of compatibility with previous versions, the
IDL programming examples in the text use the classic interface and its asso-
ciated syntax. Most of the ENVI/IDL extensions as documented in Appendix
C are provided both for the new as well as for the classic GUI/API.
I would like to express my appreciation to the German Aerospace Center
for permission to use images from the TerraSAR-X platform and to Henning
Skriver, DTU Space Denmark, for allowing me to use his EMISAR polari-
metric data. My special thanks go to Allan Nielsen and Frank Thonfeld for
acquainting me with SAR imagery analysis and to Rudolf Avenhaus for his
many helpful suggestions in matters statistical.

Morton Canty
Preface to the Fourth Edition

The fourth revision marks the completion of a transition, begun in the pre-
ceding edition, from ENVI/IDL to the Python language for implementing the
algorithms discussed in the text. It was with some hesitation that I abandoned
the comfort and convenience of the powerful ENVI/IDL environment and ven-
tured into the raw world of open source. But it has become apparent that open
source software is the future for scientific computing in general and for geo-
spatial analysis in particular. The popularity of R, JavaScript or Python in
the remote sensing community, the potential of machine learning software
such as TensorFlow for object recognition, the Python and JavaScript APIs
to the wonderful Google Earth Engine, the many open source mapping plat-
forms and servers like Mapbox, OpenLayers, Leaflet or the OpenStreetMap
project, the elegance of Jupyter notebooks for interactive and collaborative
development, the power of container technology like Docker for painless distri-
bution of scientific software, all of the advantages of these languages, tools and
platforms are freely available and under continual development by a gigantic
community of software engineers, both commercial and voluntary.
So I have jumped off the fence and onto the open source bandwagon in order
to ensure that the computer code used in the present version of the book will
be not only in line with the current trend, but also accessible to anyone,
student or scientist, with a computer and an Internet connection. Each of the
nine chapters of the text is now accompanied by its own Jupyter notebook
illustrating all, or almost all, of the concepts and algorithms presented in that
chapter. The Python scripts are uniformly command-line oriented so as to be
able to be started easily from within a notebook input cell. All of the software
is packaged into a single Docker container which, when run on the user’s
machine, serves the Jupyter notebooks to his or her favorite web browser.
The necessary packages and modules, including the Google Earth Engine and
TensorFlow APIs, are already built into the container so that there is no need
to install anything at all, apart from the Docker engine. This is of course great
for the reader, and for me it means no longer worrying about 32-bit vs. 64-
bit Windows vs. Linux vs. MacOS, or who has what pre-installed version of
which Python package. The container is pulled from DockerHub automatically
when run for the first time, and the source software can be cloned/forked from
GitHub. The details are all given in an appendix.
Had I approached this revision just a couple of years ago, I would have had
some misgivings about retaining the long and rigorous descriptions of neural
network training algorithms in Chapter 6 and Appendix B. Neural network

xix
xx Image Analysis, Classification and Change Detection in Remote Sensing

land cover classifiers had until recently gone somewhat out of fashion, giv-
ing way to random forests, support vector machines and the like. However,
given the present artificial intelligence craze, the mathematical detail in the
text should help to provide a solid background for anyone interested in un-
derstanding and exploiting deep learning techniques.
Like the earlier editions, this is not a text on programming or on the in-
tricacies of the various packages, tools and APIs referred to in the text. As
a solid introduction to scientific computing with Python, I would still recom-
mend Langtangen (2009) and, for TensorFlow, the book by Géron (2017). I
expect that I’m not alone in hoping for a good textbook on the Google Earth
Engine API. Fortunately the on-line documentation is excellent.
Apart from taking advantage of many of these exciting advances in open
source computing, the revised text continues to concentrate on an in-depth
treatment of pixel-oriented, data-driven, statistical methods for remote sens-
ing image processing and interpretation. The choice of topics and algorithms
is by no means all-encompassing and reflects strongly the author’s personal in-
terests and experience. Those topics chosen, however, are presented in depth
and from first principles. Chapters 1 and 2 on linear algebra and statistics
continue to be pretty much essential for an understanding of the rest of the
material. Especially new in the present edition is the discussion of an ele-
gant sequential change detection method for polarimetric synthetic aperture
radar imagery developed by Knut Conradsen and his colleagues at the Danish
Technical University. It has been a pleasure for me to be involved in its imple-
mentation, both in “conventional” Python and for the Google Earth Engine
Python and JavaScript APIs.
I would like to thank my editor Irma Shagla Britton at CRC Press for
waking me up to the idea of a fourth edition, and to give a big thank you to
the friendly, competent and infinitely patient GEE development team.

Morton Canty
Author Biography

Morton John Canty, now semi-retired, was a senior research scientist in the
Institute for Bio- and Geosciences at the Jülich Research Center in Germany.
He received his PhD in Nuclear Physics in
1969 at the University of Manitoba, Canada
and, after post-doctoral positions in Bonn,
Groningen and Marburg, began work in Jülich
in 1979. There, his principal interests have
been the development of statistical and game-
theoretical models for the verification of inter-
national treaties and the use of remote sensing
data for monitoring global treaty compliance.
He has served on numerous advisory bodies to
the German Federal Government and to the
International Atomic Energy Agency in Vi-
enna and was a coordinator within the Euro-
pean Network of Excellence on Global Mon-
itoring for Security and Stability, funded by
the European Commission. Morton Canty is the author of three monographs
in the German language: on the subject of non-linear dynamics (Chaos und
Systeme, Vieweg, 1995), neural networks for classification of remote sensing
data (Fernerkundung mit neuronalen Netzen, Expert, 1999) and algorithmic
game theory (Konfliktlösungen mit Mathematica, Springer 2000). The lat-
ter text has appeared in a revised English version (Resolving Conflicts with
Mathematica, Academic Press, 2003). He is co-author of a monograph on
mathematical methods for treaty verification (Compliance Quantified, Cam-
bridge University Press, 1996). He has published many papers on the sub-
jects of experimental nuclear physics, nuclear safeguards, applied game theory
and remote sensing and has lectured on nonlinear dynamical growth models
and remote sensing digital image analysis at Universities in Bonn, Berlin,
Freiberg/Saxony and Rome.

xxi
1
Images, Arrays, and Matrices

There are many Earth observation satellite-based sensors, both active and
passive, currently in orbit or planned for the near future. Representative of
these, we describe briefly the multispectral ASTER system (Abrams et al.,
1999) and the TerraSAR-X synthetic aperture radar satellite (Pitz and Miller,
2010). See Jensen (2018), Richards (2012) and Mather and Koch (2010) for
overviews of remote sensing satellite platforms.
The Advanced Spaceborne Thermal Emission and Reflectance Radiometer
(ASTER) instrument was launched in December 1999 on the Terra space-
craft. It is being used to obtain detailed maps of land surface temperature,
reflectance and elevation and consists of sensors to measure reflected solar
radiance and thermal emission in three spectral intervals:

• VNIR: Visible and near-infrared bands 1, 2, 3N, and 3B, in the spectral
region between 0.52 and 0.86 µm (four arrays of charge-coupled detectors
(CCDs) in pushbroom scanning mode).
• SWIR: Short wavelength infrared bands 4 to 9 in the region between
1.60 and 2.43 µm (six cooled PtSi-Si Schottky barrier arrays, pushbroom
scanning).
• TIR: Thermal infrared bands 10 to 14 covering a spectral range from 8.13
to 11.65 µm (cooled HgCdTe detector arrays, whiskbroom scanning).

The altitude of the spacecraft is 705 km. The across- and in-track ground
sample distances (GSDs), i.e., the detector widths projected through the sys-
tem optics onto the Earth’s surface, are 15 m (VNIR), 30 m (SWIR) and
90 m (TIR).∗ The telescope associated with the 3B sensors is back-looking at
an angle of 27.6o to provide, together with the 3N sensors, along-track stereo
image pairs. In addition, the VNIR camera can be rotated from straight down
(nadir) to ± 24o across-track. The SWIR and TIR instrument mirrors can be
pointed to ± 8.5o across-track. Like most platforms in this ground resolution
category, the orbit is near polar, sun-synchronous. Quantization levels are 8
bits for VNIR and SWIR and 12 bits for TIR. The sensor systems have an

∗ At the time of writing, both the VNIR and TIR systems are still producing good data.

The SWIR sensor was declared to be unusable in 2008.

1
2 Images, Arrays, and Matrices

FIGURE 1.1
ASTER color composite image (1000 × 1000 pixels) of VNIR bands 1 (blue),
2 (green), and 3N (red) over the town of Jülich in Germany, acquired on May
1, 2007. The bright areas are open cast coal mines.

average duty cycle of 8% per orbit (about 650 scenes per day, each 60×60 km2
in area) with revisit times between 4 and 16 days.
Figure 1.1 shows a spatial/spectral subset of an ASTER scene. The image is
a UTM (Universal Transverse Mercator) projection oriented along the satel-
lite path (rotated approximately 16.4o from north) and orthorectified using a
digital terrain model generated from the stereo bands.
Unlike passive multi- and hyperspectral imaging sensors, which measure
reflected solar energy or the Earth’s thermal radiation, synthetic aperture
radar (SAR) airborne and satellite platforms supply their own microwave
radiation source, allowing observations which are independent of time of day
3

FIGURE 1.2
A 5000×5000-pixel spatial subset of the HH polarimetric band of a TerraSAR-
X quad polarimetric image acquired over the Rhine River, Germany, in so-
called Stripmap mode. The data are slant-range, single-look, complex. The
gray-scale values correspond to the magnitudes of the complex pixel values.

or cloud cover. The radar antenna on the TerraSAR-X satellite, launched in


June, 2007, emits and receives X-band radar (9.65 GHz) in both horizontal and
vertical polarizations to provide surface imaging with a geometric resolution
from about 18 m (scanSAR mode, 10 km×150 km swath) down to 1 m (high-
resolution Spotlight mode, 10 km×5 km swath). It flies in a sun-synchronous,
near-polar orbit at an altitude of 514 km with a revisit time for points on
the equator of 11 days. Figure 1.2 shows a TerraSAR-X HH polarimetric
band (horizontally polarized radiation emitted and detected) acquired over
the Rhine River, Germany, in April, 2010. The data are at the single-look,
slant-range complex (SLC) processing level, and are not map-projected.
4 Images, Arrays, and Matrices

1.1 Multispectral satellite images


A multispectral, optical/infrared image such as that shown in Figure 1.1 may
be represented as a three-dimensional array of gray-scale values or pixel in-
tensities
gk (i, j), 1 ≤ i ≤ c, 1 ≤ j ≤ r, 1 ≤ k ≤ N,

where c is the number of pixel columns (also called samples) and r is the
number of pixel rows (or lines). The index k denotes the spectral band, of
which there are N in all. For data at an early processing stage a pixel may be
stored as a digital number (DN), often in a single byte so that 0 ≤ gk ≤ 255.
This is the case for the ASTER VNIR and SWIR bands at processing level L1A
(unprocessed reconstructed instrument data), whereas the L1A TIR data are
quantized to 12 bits (as unsigned integers) and thus stored as digital numbers
from 0 to 212 − 1 = 4095. Processed image data may of course be stored in
byte, integer or floating point format and can have negative or even complex
values.
The gray-scale values in the various bands encode measurements of the
radiance L∆λ (x, y) in wavelength interval ∆λ due to sunlight reflected from
some point (x, y) on the Earth’s surface, or due to thermal emission from
that surface, and focused by the instrument’s optical system along the array
of sensors. Ignoring all absorption and scattering effects of the intervening
atmosphere, the at-sensor radiance available for measurement from reflected
sunlight from a horizontal, Lambertian surface, i.e., a surface which scatters
reflected radiation uniformly in all directions, is given by

L∆λ (x, y) = E∆λ · cos θz · R∆λ (x, y)/π. (1.1)

The units are [W/(m2 · sr · µm)], E∆λ is the average spectral solar irradiance
in the spectral band ∆λ, θz is the solar zenith angle, R∆λ (x, y) is the surface
reflectance at coordinates (x, y), a number between 0 and 1, and π accounts
for the upper hemisphere of solid angle. The conversion between DN and
at-sensor radiance is determined by the sensor calibration as measured (and
maintained) by the satellite image provider. For example, for ASTER VNIR
and SWIR L1A data,

L∆λ (x, y) = A · DN/G + D.

The quantities A (linear coefficient), G (gain), and D (offset) are tabulated


for each of the detectors in the arrays and included with each acquisition.
Atmospheric scattering and absorption models may be used to deduce at-
surface radiance, surface temperature and emissivity or surface reflectance
from the observed radiance at the sensor. Reflectance and emissivity are di-
rectly related to the physical properties of the surface being imaged. See
Multispectral satellite images 5

Schowengerdt (2006) for a thorough discussion of atmospheric effects and their


correction.
Various conventions are used for storing the image array gk (i, j) in computer
memory or other storage media. In band interleaved by pixel (BIP) format, for
example, a two-channel, 3 × 3 pixel image would be stored as
g1 (1, 1) g2 (1, 1) g1 (2, 1) g2 (2, 1) g1 (3, 1) g2 (3, 1)
g1 (1, 2) g2 (1, 2) g1 (2, 2) g2 (2, 2) g1 (3, 2) g2 (3, 2)
g1 (1, 3) g2 (1, 3) g1 (2, 3) g2 (2, 3) g1 (3, 3) g2 (3, 3),
whereas in band interleaved by line (BIL) it would be stored as
g1 (1, 1) g1 (2, 1) g1 (3, 1) g2 (1, 1) g2 (2, 1) g2 (3, 1)
g1 (1, 2) g1 (2, 2) g1 (3, 2) g2 (1, 2) g2 (2, 2) g2 (3, 2)
g1 (1, 3) g1 (2, 3) g1 (3, 3) g2 (1, 3) g2 (2, 3) g2 (3, 3),
and in band sequential (BSQ) format as
g1 (1, 1) g1 (2, 1) g1 (3, 1)
g1 (1, 2) g1 (2, 2) g1 (3, 2)
g1 (1, 3) g1 (2, 3) g1 (3, 3)
g2 (1, 1) g2 (2, 1) g2 (3, 1)
g2 (1, 2) g2 (2, 2) g2 (3, 2)
g2 (1, 3) g2 (2, 3) g2 (3, 3).
In the computer language Python, augmented with the numerical package
NumPy, so-called row major indexing is used for arrays and the elements in
an array are numbered from zero. This means that, if a gray-scale image g
is assigned to a Python array variable g, then the intensity value g(i, j) is
addressed as g[j-1,i-1]. An N -band multispectral image is stored in BIP
format as an r × c × N array in NumPy, in BIL format as an r × N × c and in
BSQ format as an N × r × c array. So, for example, in BIP format the value
gk (i, j) is stored at g[j-1,i-1,k-1].
Auxiliary information, such as image acquisition parameters and georef-
erencing, is sometimes included with the image data on the same file, and
the format may or may not make use of compression algorithms. Examples
are the GeoTIFF∗ file format used, for instance, by Space Imaging Inc. for
distributing Carterra c imagery and which includes lossless compression, the
HDF-EOS (Hierarchical Data Format-Earth Observing System) files in which
ASTER images are distributed, and the PCIDSK format employed by PCI
Geomatics c with its image processing software, in which auxiliary informa-
tion is in plain ASCII and the image data are not compressed. ENVI ( c Harris
Geospatial Solutions) uses a simple “flat binary” file structure with an addi-
tional ASCII header file.

∗ GeoTIFF is an open source specification and refers to TIFF files which have geographic

(or cartographic) data embedded as tags within the file. The geographic data can be used
to position the image in the correct location and geometry on the screen of a geographic
information display.
6 Images, Arrays, and Matrices

Listing 1.1: Reading and displaying an image band in Python.


1 # !/ usr / bin / env python
2 # Name : ex1_1 . py
3 import numpy as np
4 import sys
5 from osgeo import gdal
6 from osgeo . gdalconst import GA_ReadOnly
7 import matplotlib . pyplot as plt
8
9 def disp ( infile , bandnumber ):
10 gdal . AllRegister ()
11 inDataset = gdal . Open ( infile , GA_ReadOnly )
12 cols = inDataset . RasterXSize
13 rows = inDataset . RasterYSize
14 bands = inDataset . RasterCount
15
16 image = np . zeros (( bands , rows , cols ))
17 f o r b i n range( bands ):
18 band = inDataset . GetRasterBand ( b +1)
19 image [b ,: ,:]= band . ReadAsArray (0 ,0 , cols , rows )
20 inDataset = None
21
22 # display NIR band
23 band = image [ bandnumber -1 ,: ,:]
24 mn = np . amin ( band )
25 mx = np . amax ( band )
26 plt . imshow (( band - mn )/( mx - mn ) , cmap = ’ gray ’)
27 plt . show ()
28
29 i f __name__ == ’ __main__ ’:
30 infile = sys . argv [1]
31 bandnumber = i n t ( sys . argv [2])
32 disp ( infile , bandnumber )

Listing 1.1 is a simple and fairly self-explanatory Python script which reads
a multispectral image into a Python/NumPy array in BSQ interleave format
with the aid of GDAL (the Geospatial Data Abstraction Library) and then
displays a spectral band using the matplotlib.pyplot package. The script
takes two arguments, the image filename and the band number to be displayed
and is run from the command prompt in Windows or from a console window
on Unix-like systems with the command python ex1 1.py *args. In the Unix
case, the “shebang” #! in the first line allows it to be run simply by typing
the filename, assuming the path to the env utility is /usr/bin/env. In this
book we will prefer to work almost exclusively from within Jupyter notebooks,
where the script can be executed with the so-called line magic %run without
Exploring the Variety of Random
Documents with Different Content
his goods; and thus we came to know what men among us were like
to be called forth on this voyage.
Presently the big door was thrown open, and all faces flashed about
to the new interest. Outside stood a double red line of English
soldiers. An officer—the round-faced Colonel Winslow himself—
stepped in, a scroll of paper curling in his hand. In a precise and
something pompous voice he read aloud the names of those to go.
The Le Marchands were first on the roll; then the Le Boutilliers,
Ba’tiste Chouan, Jean and Tamin Masson, and a long list that
promised to thin our crowded benches by one-third. But I was left
among the unsummoned; and my cousin Marc, and long Philibert
Trou, and the wily fox La Mouche; and I saw Marc’s lips compress
with a significant satisfaction when he saw these two remaining.
Vaguely I thought—“He has a plan!” But thereafter, in my gloom, I
thought no more of it.
So these chosen ones marched off between their guards; and that
afternoon the ship went out on the ebb tide with a wind that carried
her, white-sailed, around the dark point of Blomidon. Grand Pré
chapel prison settled apathetically back to a deeper calm.
Chapter XXVIII

The Ships of her Exile

T he days dragged till December was setting his hoar face toward
death, and still delayed the last ships. The jailers grew sour-
visaged. From Yvonne came no more word, only the tidings that she
was not well, and that her people were troubled for her. Father
Fafard’s cheery wrinkles at mouth and eyes deepened from cheer to
care; but still his lips locked over the name of Yvonne.
My hope sank ever lower and lower. That old wound in my head,
cured by Grûl’s searching simples, began to harass me afresh—
whether from cold, the chapel being but barn-like, or from the
circumstance that my heart, ceaselessly gnawing upon itself, gnawed
also upon every tissue and nerve. I came strangely close to the
ranger La Mouche in those bad days; for though I knew not, nor
cared nor dared to ask, his story, I saw in his eyes a something
which he, too, doubtless saw in mine. So it came that we sat much
together, in a black silence. It was not that I loved less than of old
my true comrade Marc, but the fact that he possessed where he
loved, and could with blissful confidence look forward, set him some
way apart from me. Upon La Mouche, with the deep hurt sullen in
his eyes, I could look and mutter to myself:
“Old, wily fox, is your foot, once so free, caught in the snare of a
woman?”
So tortuous a thing in its workings is this red clot of a human heart
that I got a kind of perverted solace out of such thoughts as these.
At last the tired watchers at our south windows announced two ship
in the basin. They came up on the flood, and dropped anchor off the
Gaspereau mouth.
“This ends it,” I heard Marc say coolly. “All that’s left of Grand Pré
can go in those two ships.”
To me the words came as a knell for the burial of my last hope.
The embarkation had now to be pushed with a speed which wrought
infinite confusion, for the weather had turned bitter, and it was not
possible for women and children to long endure the cold of their
dismantled homes. The big wagons, watched by us from our
windows, went creaking and rattling down the frozen roads. Wailing
women, frightened and wondering children, beds, chests, many-
colored quilts, bright red and green chairs,—to us it looked as if all
these were tumbled into a narrowing vortex and swept with a
piteous indiscriminacy into one ship or the other. The orderly method
with which the previous embarkings had been managed was now all
thrown to the winds by the fierce necessity for haste. We in the
chapel were not left long to watch the scene from the windows.
While yet the main street of Grand Pré was dolorous with the tears
of the women and children, the doors of our prison opened and
names were called. I heeded them not; but the sound of my own
name pierced my gloom; and I went out. In the tingling air I awoke
a little, to gaze up the hill at the large house where Yvonne had
lodged since the parsonage had been taken for a guard-house. No
message came to me from those north windows. Then I turned, to
find Marc at my side.
“Courage, cousin mine,” he whispered. “We are not beaten yet.
Better outside than in there. This much means freedom—and, once
free, we’ll act.”
“No, Marc, I’m not beaten,” I muttered. “But—it looks as if I were.”
“Chut, man!” said he crisply. “You couldn’t do a better thing to bring
her to her senses than you are doing now.”
It was but a few steps down to the lane, and there we found
ourselves in a jumble of heaped carts and blue-skirted, weeping
women. My head was paining me sorely—a numb ache that seemed
to rise in the core of my brain. But I remember noting with a far-off
commiseration the blubbered faces of the women, and their poor
little solicitudes for this or that bit of household gear which, from
time to time, would fall crashing to the ground from the hastily laden
carts. I found spirit to wonder that the tears which had exhausted
themselves over the farewell to fatherland and hearthside should
break out afresh over the cracking of a gilded glass or the shattering
of a blue and silver jug. The women’s lamentations in a little
hardened me, so that my ears ignored them; but the wide-eyed
terrors of the children, their questions unanswered, their whimpering
at the cold that blued their hands, all this pierced me. Tears for the
children’s sorrow gathered in my heart, till it was nigh to bursting;
and this curbed passion of pity, I think, kept my sick body from
collapse. It in some way threw me back from my own misery on to
my old unroutable resolution.
“I will win!” I said in my heart, as we came down upon the wharf at
the Gaspereau mouth. “Though there seems to be no more hope,
there is life; and while there is life, I hold on.”
When we reached the wharf the ebb was well advanced. The boats
could not get near the wharf. Women had to wade ankle-deep in
freezing slime to reach them. The slime was churned with the
struggle of many feet. The stuff from the carts was at times dropped
in the ooze, to be recovered or not as might chance. The soldiers
toiled faithfully, and their leggings to the knee were a sorry sight.
They were patient, these red-coats, with the women, who often
seemed to lose their heads so that they knew not which boat they
wanted to go in. To the children every red-coat seemed tender as a
mother. For any one, indeed, they would do anything, except endure
delay. Haste, haste, haste was all—and therefore there was
calamitous confusion. While I stood on the wharf awaiting the order
to embark, I saw a stout girl in a dark-red stomacher and grey
petticoat throw herself screaming into the water where it was about
waist deep, and scramble desperately to another boat near by. No
effort was made to restrain her. Dripping with tide and slime she
climbed over the gunwale; and belike found what she sought, for
her cries ceased. Again I noted—Marc called my attention to it—a
small child being passed from one boat to the other, as the two,
bound for different ships, were about diverging. The mother had
stumbled blindly into one boat while the child had been tossed into
the other. In the effort to remedy this oversight the child was
dropped into the water between the boats. The screams of the
mother were like a knife in our ears. Two sailors went overboard at
once, but there was some delay ere the little one was recovered.
Then we saw its limp body passed in over the boatside; whether
alive or dead we could not judge; but the screams ceased and our
ear-drums blessed the respite.
With the next boat came our turn; and I found myself wading down
the slope of icy ooze. I heard Marc, just behind me, mutter a
careless imprecation upon the needless defiling of his boots. He was
ever imperturbable, my cousin,—a hot heart, but in steel harness.
We loaded the roomy long-boat till the gunwale was almost awash.
The big oars creaked and thumped in the rowlocks. We moved
laboriously out to the ships, which swung on straining cable in the
tide. As we came under her black-wall side, with the turbid red-grey
current hissing past it, men on deck caught us with grapnels, and we
swung, splashing, under the stern. Then, the tide being very
troublesome, we were drawn again alongside.
Marc was at my elbow. “Look!” he cried, pointing to the ridge behind
the village. I saw a wide-roofed cottage on the crest break into
flame. There was a wind up there, though little as yet down here in
the valley; and the flames streamed out to westward, the black
smoke rolling low and ragged above them.
“So goes all Grand Pré in a little!” muttered Marc.
“It is P’tit Joliet’s house!” said I.
“Yes,” said a steady young voice behind me; and I turned to see
Petit Joliet himself, watching with undaunted eyes the burning of his
home. “Yes, and it was a fine house. It would have hurt my father
sorely, were he alive now, to see it go up in smoke like that.”
“Well, you have a brave heart,” said I, liking him well as I saw his
firmness.
“Oh,” said he, “the only thing that is troubling me is this—shall I find
my mother on this ship? They are making mistakes now, these
English, in their haste to be done with us. I’m worried.”
“If she is not on board,” said my kind Marc, “we’ll try and keep a
watch on the boats; and if we see her bound for the wrong ship
we’ll let the guard know. They want to keep families together, if they
can.”
This was Marc, ever careful of others. But his good purpose was like
to have been frustrated soon as formed; for scarce were our feet
well on deck when our hands were clapped in irons, and we were
marched off straight to the hold.
“Sorry, sir. Can’t help it. So many of you, you know,” said the red-
coat apologetically, as I stretched out my wrists to him.
But glancing about the crowded deck I descried my good friend,
Lieutenant Waldron, busily unravelling the snarl of things. In answer
to my hail he came at once, warm, friendly, and trying not to see my
irons.
“One last little service, sir!” I cried. “Little to us, it may be great to
others. You see we are ironed, Captain de Mer and I. We will give
our word to neither attempt escape nor in any way interfere with
this sorry work. Let us two wait here on deck till the ship sails. We
know all these villagers; and we want to help you avoid the
severance of families.”
“It is little to grant for you, my friend,” said he, in a feeling voice.
“You cannot know how my heart is aching. I will speak to the
captain of the ship, and you shall stay on deck till the ship sails.”
Marc thanked him courteously, but I with no more than a look, for
words did not at that time seem compliant to say what I desired
them to say. They are false and treacherous spirits, these words we
make so free with and trust so rashly with affairs of life and death.
How often do they take an honest meaning from the heart and twist
it to the semblance of a lie as it leaves the lips! How often do they
take a flame from the inmost soul, and make it ice before it reaches
the soul toward which it thrilled forth! It has been my calling to work
with words in peace, as with swords in time of war; and I know
them. I do not trust them. The swords are the safer.
Chapter XXIX

The Hour of her Desolation

R eturning from a brief word with the ship-captain,—a very broad-


bearded, broad-chested man, in a very rough blue coat,—
Lieutenant Waldron passed us hastily, and signified that it was all
right. With this sanction we pushed along the crowded deck in order
to gain a post of vantage at the bow. The vessel, whose hold was
now to be our new and narrow cage, was one of those ordinarily
engaged in the West Indian trade. Our noses told us this. To the
savours of fish and tar which clung in her timbers she added a
foreign tang of molasses, rum, and coffee. As we stumbled up the
cluttered deck, lacking the balance of free hands, these shippy
smells were crossed in curious, pathetic fashion by the homely
odours of the blankets, clothes, pillows, and other household stuff
that lay about waiting for storage. Here a woman sat stolidly upon
her own pile, with a mortgage on the future so long as she kept her
bedding in possession; and there a youngster, already homesick, for
his wide-hearthed cabin, sobbed heavily, with his face buried in an
old coat of his father’s.
For hours, in the bitter cold, we held our post in the bow of the ship
and watched the boats go back and forth. Of the old mother of Petit
Joliet we saw nothing. We judged perforce that she had been moved
early and carried to the other ship, which swung at anchor a little up
the channel. We were able—I say we, though Marc did all, I being,
as it were, drowned in my own dejection—we were able to be of
service in divers instances. When, for example, young Violet was
brought aboard with another boat-load from the chapel prison, we
made haste to tell the guards that we had seen his mother and
sisters taken to the other ship. As a consequence, when the boat
went back to the wharf it carried young Violet; so he and his were
not divided in their exile.
By the very next boat there came to us a black-browed, white-lipped
woman, from whose dry eyes the tears seemed all drained out. She
carried a babe-at-breast, while two thin little ones clung to her
homespun skirt. As soon as she reached the deck she stared around
in wild expectation, as if she thought to find her husband waiting to
receive her. Not seeing him, she straightway fainted in a heap. It
chanced I knew the woman’s face. She was the wife of one Caspar
Besnard, of Pereau, whom I had seen taken, early in the day, to the
other ship. He was conspicuous by reason of having red hair, a
marvel in Acadie; and therefore my memory had retained him,
though he concerned me not. Now, however, he did concern me
much. A few words to the officer of the guard, and the poor woman,
with her children, was transferred to where she doubtless found her
husband.
Such cases justified, in our jailers’ eyes, the favour that had been
shown us. Meanwhile our ship had filled up. We had seen Long
Philibert and La Mouche brought aboard, but had not spoken with
them. “Time for that later,” Marc had said. I had watched for Petit
Joliet’s mother; and I had watched eagerly for old Mother Pêche; but
in vain. While yet the boats were plying, heavy laden, between the
shore and the other ship, we found ourselves ready for departure.
Our boats were swung aboard; and the English Yeo, heave ho! arose
as the sailors shoved on the capstan. Lieutenant Waldron, after an
all but wordless farewell, went ashore in the gig with two soldiers.
The rest of the red-coats stayed aboard. They had been reënforced
by a fresh squad who were marched down late to the landing.
These, plainly, were to be our guard during the voyage; and I saw
with a sort of vague resentment that a tall, foppish exquisite of an
officer, known to me by sight, was to command this guard. He was
one Lieutenant Shafto, whom we had seen two or three times at the
chapel prison; and I think all disliked him for a certain elaborate
loftiness in his air. It came to my mind dimly that I should well
rejoice to cross swords with him, and I hinted as much to Marc.
“Who knows?” said my unruffled cousin; “we may live to see him
look less complacent.” His smile had a meaning which I could not
fathom. I could see no ground for his sanguine satisfaction; and I
dared not question where some enemy might overhear. I thought no
more of it, therefore, but relapsed into my apathy. As we slipped
down the tide I saw, in a boat-load just approaching the other ship,
a figure with a red shawl wrapped round head and shoulders. This
gave me a pang, as I had hoped to have Mother Pêche with me, to
talk to me of Yvonne and help me to build up the refuge of a
credulous hope. But since even that was denied me—well, it was
nothing, after all, and I was a child! I turned my eyes upon the
house, far up the ridge, where the Lamouries had lodging. It was
one of four, standing well aloof from the rest of the village; and I
knew they all were occupied by those prudent ones of the
neighbourhood who had been wise in time and now stood safe in
English favour. The doom of Grand Pré, I knew, would turn aside
from them.
But on the emptied and desolated village it was even now
descending. Marc and I, unnoticed in our place, were free to watch.
So dire was even yet the confusion on our deck, so busy seamen
and soldiers alike, that we were quite forgotten for a time. The early
winter dark was gathering upon Blomidon and the farther hills; but
there was to be no dark that night by the mouth of Gaspereau.
The house of Petit Joliet, upon the hill, burned long alone. It was
perhaps a signal to the troops at Piziquid, twenty miles away, telling
them that the work at Grand Pré was done. Not till late in the
afternoon was the torch set to the village itself. Then smoke arose
suddenly on the westernmost outskirts, toward the Habitants dyke.
The wind being from the southeast, the fire spread but slowly
against it. As the smoke drove low the flames started into more
conspicuous brilliance, licking lithely over and under the rolling cloud
that strove to smother them. These empty houses burned for the
most part with a clear, light flame; but the barns, stored with hay
and straw, vomited angry red, streaked with black. Up the bleak
hillside ran the terrified cattle, with wildly tossing horns. At times,
even on shipboard, we caught their bellowings. They had been
turned loose, of course, before the fires were started, but had
remained huddled in the familiar barnyards until this horrible and
inexplicable cataclysm drove them forth. Far up the slope we saw
them turn and stand at gaze.
In an hour we observed that the wharf was empty, and the other
ship hoisting sail. Then the fires sprang up in every part of the
village at once. They ran along the main street below the chapel;
but they came not very near the chapel itself, for all the buildings in
its immediate neighbourhood had been long ago removed, and it
stood in a safe isolation, towering in white solemnity over the red
tumult of ruin.
“The chapel will be a camp to-night, instead of a prison,” said Marc
at my ear, his grave eyes fixed and wide. “It will be the last thing to
go—it and the Colony of Compromise yonder up the hill.”
“But who shall blame them for the compromise?” I protested,
unwilling to hear censure that touched the father of Yvonne.
Marc shrugged his shoulders at this. He never was a lover of vain
argument.
“I wonder where the Black Abbé is at this moment!” was what he
said, with no apparent relevancy.
“Not yet in his own place, I fear!” said I.
“The implication is a pious one,” said Marc. “Yonder is the work of
him, and of no other. He should be roasting now in the hottest of it.”
I really, at this moment, cared little, and was at loss for reply. But a
bullying roar of a voice just behind us saved me the necessity of
answering.
“Here, you two! What are ye doin’ here on deck? Git, now! Git,
quick!”
The speaker was a big, loose-jointed man, ill-favoured and palpably
ill-humoured. I was pleased to note that the middle two of his
obtrusive front teeth were wanting, and that his nose was so
misshapen as to suggest some past calamitous experience. As I
learned afterwards, this was our ship’s first mate. I was too dull of
mood—too sick, in fact—to be instantly wroth at his insolence. I
looked curiously at him; but Marc answered in a quiet voice:
“Merely waiting here, sir, on parole and by direction, till the proper
authorities are ready to take us below!” And he thrust out his
manacled hands to show how we were conditioned.
“Well, here’s proper authority, ye’ll find out. Git, er I’ll jog ye!” And
he made a motion to take me by the collar.
I stepped aside and faced him. I looked him in the eyes with a
sudden rage so deadly that he must have felt it, for he hesitated. I
cared nothing then what befell me, and would have smashed him
with my iron-locked wrist had he touched me, or else so tripped him
and fallen with him that we should have gone overboard together.
But he was a brute of some perception, and his hesitancy most likely
saved us both. It gave Marc time to shout—“Guards! Guards! Here!
Prisoner escaping!”
Instantly along the red-lit deck came soldiers running—three of
them. The mate had grabbed a belaying-pin, but stood fingering it,
uncertain of his status in relation to the soldiers.
“Corporal,” said Marc ceremoniously to one of them, discerning his
rank by the stripes on his sleeve, “pardon the false alarm. There was
no prisoner escaping. We were here on parole, by the favour of
Lieutenant Waldron—as you yourself know, indeed, for we helped
you this afternoon in getting scattered families together. But this
man—we don’t know who he is—was brutal, and threatening
violence in spite of our defenceless state. Please take us in charge!”
“Certainly, Captain de Mer,” said the man promptly. “I was just about
coming for you!”
Then he turned to the mate with an air of triumphant aversion, in
which lurked, perhaps, a consciousness of conflicting and ill-defined
authorities.
“No belaying-pins for the prisoners!” he growled. “Keep them for yer
poor swabs o’ sailor lads.”
As we marched down the deck under guard the sails overhead were
all aglow, the masts and spars gleamed ruddily. The menacing
radiance was by this time filling the whole heaven, and the small,
quick-running surges flashed under it with a sinister sheen. As we
reached the open hatch I turned for a last look at Grand Pré.
The whole valley was now as it were one seething lake of smoke and
flame, the high, half-shrouded spire of the chapel rising impregnable
on the further brink. The conflagration was fiercest now along the
eastern half of the main street, toward the water side. Even at this
distance we heard the great-lunged roar of it. High over the chaos,
like a vaulted roof upheld by the Gaspereau Ridge, arched an almost
stationary covering of smoke-cloud, impenetrable, and red as blood
along its under side. The smoke of the burning was carried off
toward the Habitants and Canard—where there was nothing left to
burn. Between the red stillness above and the red turbulence below,
apart and safe on their high slope, gleamed the cottages of the
Colony of Compromise. With what eyes, I wondered, does my
beloved look out upon this horror? Do they strain sadly after the
departing ships—or does the Englishman stand by and comfort her?
As I got clumsily down the ladder the last thing I saw—and the
picture bit its lines in strange fashion on my memory—was the other
ship, a league behind us, black-winged against the flame.
Then the hatch closed down. By the glimmer of a swinging lanthorn
we groped our way to a space where we two could lie down side by
side. Marc wanted to talk, but I could not. There was a throbbing in
my head, a great numbness on my heart. In my ears the voice of
the Minas waves assailing the ship’s timbers seemed to whisper of
the end of things. Grand Pré was gone. I was being carried, sick and
in chains, to some far-off land of strangers. My beloved was cared
for by another.
“No!” said I in my heart (I thought at first I had spoken it aloud, but
Marc did not stir), “when my foot touches land my face shall turn
back to seek her face again, though it be from the ends of earth. It
is vain, but I will not give her up. I am not dead yet—though hope
is!”
As I thought the words there came humming through my brain that
foolish saying of Mother Pêche’s. Again I saw her on that spring
evening bending over my palm and murmuring—“Your heart’s desire
is near your death of hope!”
“Here is my death of hope, mother,” said I to myself. “But where is
my heart’s desire?”
And with that I laughed harshly—aloud.
It was an ill sound in that place of bitterness, and heads were raised
to look at me. Marc asked, with a trace of apprehension in his voice:
“What’s the matter, Paul? Anything to laugh at?”
“Myself!” I muttered.
“The humour of the subject is not obvious,” said he curtly.
Chapter XXX

A Woman’s Privilege

I did not sleep that night—not one eye-wink—in the hold of the
New England ship. Neither could I think, nor even greatly suffer.
Rather I lay as it were numbly weltering in my despair. What if I had
known all that was going on meanwhile in that other ship, a league
behind us, sailing under the lurid sky!
The events which I am now about to set down were not, as will be
seen, matter of my own experience. I tell what I have inferred and
what has been told me—but told me from such lips and in such
fashion that I may indeed be said to have lived it all myself. It is
more real to me than if my own eyes had followed it. It is sometimes
true that we may see with the eyes of others—of one other—more
vividly than with our own.
In the biggest house of that “Colony of Compromise” on the hill—the
house nearest the chapel prison—a girl stood at a south window
watching the flames in the village below. The flames, at least, she
seemed to be watching. What she saw was the last little column of
prisoners marching away from the chapel; and her teeth were set
hard upon her under lip.
She was not thinking; she was simply clarifying a confused resolve.
White and thin, and with deep purple hollows under her great eyes,
she was nevertheless not less beautiful than when, a few months
before, joyous mirth had flashed from her every look and gesture, as
colored lights from a fire-opal. She still wore on her small feet
moccasins of Indian work; but now, in winter, they were of heavy,
soft, white caribou-skin, laced high upon the ankles, and
ornamented with quaint pattern of red and green porcupine quills.
Her skirt and bodice were of creamy woollen cloth; and over her
shoulders, crossed upon her breast and caught in her girdle, was
spread a scarf of dark-yellow silk. The little black lace shawl was
flung back from her head, and her hands, twisted tightly in the ends
of it, were for a wonder quite still—tensely still, with an air of final
decision. Close beside her, flung upon the back of a high wooden
settee, lay a long, heavy, hooded cloak of grey homespun, such as
the peasant women of Acadie were wont to wear in winter as an
over-garment.
A door behind her opened, but Yvonne did not turn her head.
George Anderson came in. He came to the window, and tried to look
into her eyes. His face was grave with anxiety, but touched, too,
with a curious mixture of impatience and relief. He spoke at once, in
a voice both tender and tolerant.
“There go the last of them, poor chaps!” he said. “Captain Grande
went some hours ago—quite early. I pray, dear, that now he is gone
—to exile indeed, but in safety—you will recover your peace of mind,
and throw off this morbid mood, and be just a little bit kinder to—
some people!” And he tried, with an awkward timidity, to take her
hand.
She turned upon him a sombre, compassionate gaze, but far-off,
almost as if she saw him in a dream.
“Don’t touch me—just now,” she said gently, removing her hand. “I
must go out into the pastures for air, I think. All this stifles me! No,
alone, alone!” she added more quickly, in answer to an entreaty in
his eyes. “But, oh, I am sorry, so sorry beyond words, that I cannot
seem kind to—some people! Good-by.”
She left the room, and closed the door behind her. The door shut
smartly. It sounded like a proclamation of her resolve. So—that was
settled! In an instant her whole demeanour changed. A fire came
back into her eyes, and she stepped with her old, soft-swaying
lightness. In the room which she now entered sat her father and
mother. The withered little reminiscence of Versailles watched at a
window-side, her black eyes bright with interest, her thin lips slightly
curved with an acerb and cynical compassion. But Giles de Lamourie
sat with his back to the window, his face heavy and grey.
“This is too awful!” he said, as Yvonne came up to him, and, bending
over, kissed him on the forehead and the lips.
“It is like a nightmare!” she answered. “But, would you believe it,
papa, the very shock is doing me good? The suspense—that kills!
But I feel more like myself than I have for weeks. I must go out,
breathe, and walk hard in the open.”
De Lamourie’s face lightened.
“Thou art better, little one,” said he. “But why go alone at such a
time? Where’s George?”
But Yvonne was already at her mother’s side, kissing her, and did not
answer her father’s question; which, indeed, needed no answer, as
he had himself seen Anderson go into the inner room and not
return.
“But where will you go, child?” queried her mother. “There are no
longer any left of your sick and your poor and your husbandless to
visit.”
“But I will be my own sick, little mamma,” she cried nervously, “and
my own poor—and my own husbandless. I will visit myself. Don’t be
troubled for me, dearies!” she added, in a tender voice. “I am so
much better already.”
The next moment she was gone. The door shut loudly after her.
“Wilful!” said her mother.
“Yes, more like she used to be. Much better!” exclaimed Giles de
Lamourie, rising and looking out at the fires in a moment of brief
absent-mindedness. “Yes, much better, George,” he added, as
Anderson appeared from the inner room.
But the Englishman’s face was full of discomfort. “I wish she would
not go running out alone this way,” said he.
“Curious that she should prefer to be alone, George,” said Madame
de Lamourie, with deliberate malice. She was beginning to dislike
this man who so palpably could not give her daughter happiness.

Yvonne, meanwhile, was speeding across the open fields, in the


teeth of the wind. The ground was hard as iron, but there was little
snow—only a dry, powdery covering deep enough to keep the
stubble from hurting her feet. She ran straight for the tiny cabin of
Mother Pêche, trusting to find her not yet gone. None of the houses
at the eastern end of the village were as yet on fire. That of Mother
Pêche stood a little apart, in a bushy pasture-lot. Yvonne found the
low door swinging wide, the house deserted; but there were red
embers still on the hearth, whereby she knew the old woman had
not been long away.
The empty house seemed to whisper of fear and grief from every
corner. She turned away and ran toward the landing, her heart
chilled with a sudden apprehension that she might be too late.
Before she was clear of the bushes, however, she stopped with a cry.
A man who seemed to have risen out of the ground stood right in
her path. He was of a sturdy figure, somewhat short, and clad in
dull-coloured homespun of peasant fashion. At sight of her beauty
and her alarm his woollen cap was snatched from his head and his
cunning face took on the utmost deference.
“Have no fear of me, mademoiselle,—Mademoiselle de Lamourie, if I
may hazard a guess from your beauty,” said he smoothly. “It is I who
am in peril, lest you should reveal me to my enemies.”
“Who are you, monsieur?” she asked, recovering her self-possession
and fretting to be gone.
“A spy,” he whispered, “in the pay of the King of France, who must
know, to avenge them later, the wrongs of his people here in Acadie.
I have thrown myself on your mercy, that I might ask you if the
families who have found favour with the English will remain here
after this work is done, or be taken elsewhere. I pray you inform
me.”
“Believe me, I do not know their plans, monsieur,” answered Yvonne.
“And I beg you to let me pass, for my haste is desperate.”
“Let me escort you to the edge of the bush, then, mademoiselle,”
said he courteously, stepping from the path. “And not to delay you, I
will question you as we go, if you will permit. Is the Englishman,
Monsieur George Anderson, still here?”
“He is, monsieur. But now leave me, I entreat you.”
She was wild with fear lest the stranger’s presence should frustrate
her design.
The man smiled.
“I dare go no farther with you than the field edge, mademoiselle,”
said he regretfully. “To be caught would mean”—and he put his hand
to his throat with ghastly suggestion.
Relieved from this anxiety, Yvonne paused when she reached the
open.
“I must ask you a question in turn, monsieur,” said she. “Have you
chanced to learn on which of the two ships Captain de Mer and
Captain Grande were placed?”
“I have been so fortunate,” replied the stranger, and the triumph in
his thought found no expression in his deferential tone or deep-set
eyes. Here was the point he had been studying to approach. Here
was a chance to worst a foe and win favour from the still powerful,
though far-distant, Black Abbé.
He paused, and Yvonne had scarce breath to cry “Which?”
“They are in the ship this way,” he said calmly. “The one still at
anchor.”
“Thank you, monsieur!” she cried, with a passion in the simple
words; and was straightway off across the red-lit snow, her cloak
streaming out behind her.
“The beauty!” said the man to himself, lurking in the bushes to
follow her with his eyes. “Pity to lie to her. But she’s leaving—and
that stabs Anderson; and she’s going on the wrong ship—and that
stabs Grande. Both at a stroke. Not bad for a day like this.”
And with a look of hearty satisfaction on his face Le Fûret[1] (for
Vaurin’s worthy lieutenant it was) withdrew to safer covert.

1. None of Vaurin’s villains were taken by the English at the time


of the great capture, for none dared come within a league of
an English proclamation lest it should turn into a rope to
throttle them.—P. G.
Le Fûret smiled to himself; but Yvonne almost laughed aloud as she
ran, deaf to the growing roar at the farther end of the village and
heedless of the flaring crimson that made the air like blood. The
wharf, when she reached it, was in a final spasm of confusion, and
shouted orders, and sobbings. Now, she grew cautious. Drawing her
cloak close about her face, she pushed through the crowd toward
the boat.
Just then a firm hand was laid upon her arm, and a very low voice
said in her ear,—with less surprise, to be sure, than on a former
occasion by Gaspereau lower ford,—
“You here, Mademoiselle de Lamourie?”
Her heart stood still; and she turned upon him a look of such
imploring, desperate dismay that Lieutenant Waldron without
another word drew her to one side. Then she found voice.
“Oh, if you have any mercy, any pity, do not betray me,” she
whispered.
“But what does this mean? It is my duty to ask,” he persisted, still
puzzled.
“I am trying to save my life, my soul, everything, before it’s too
late!” she said.
“Oh,” said he, comprehending suddenly. “Well, I think you had better
not tell me anything more. I think it is not my duty to say anything
about this meeting. You may be doing right. I wish you good fortune
and good-by, mademoiselle!”—and, to her wonder, he was off
among the crowd.
Still trembling from the encounter, she hastened to the boat.
She found it already half laden; and in the stern, to her delight, she
saw Mother Pêche’s red mantle. She was on the point of calling to
her, but checked herself just in time. The boat was twenty paces
from the wharf-edge; and those twenty paces were deep ooze,
intolerable beyond measure to white moccasins. Absorbed in her one
purpose, which was to get on board the ship without delay, she had
not looked to one side or the other, but had regarded women,
children, soldiers, boatmen, as so many bushes to be pushed
through. Now, however, letting her hood part a little from her face,
she glanced hither and thither with her quick imperiousness, and
then from her feet to that breadth of slime, as if demanding an
instant bridge. The next thing she knew she was lifted by a pair of
stout arms and carried swiftly through the mud to the boatside.
After a moment’s hot flush of indignation at the liberty, she realized
that this was by far the best possible solution of the problem, as
there was no bridge forthcoming. She looked up gratefully, and saw
that her cavalier was a big red-coat, with a boyish, jolly face. As he
gently set her down in the boat she gave him a radiant look which
brought the very blood to his ears.
“Thank you very much indeed!” she said, in an undertone. “I don’t
know how I should have managed but for your kindness. But really it
is very wrong of you to take such trouble about me; for I see these
other poor things have had to wade through the mud, and their
skirts are terrible.”
The big red-coat stood gazing at her in open-mouthed adoration,
speechless; but a comrade, busy in the boat stowing baggage,
answered for him.
“That’s all right, miss,” said he. “Don’t you worry about Eph. He’s
been carryin’ children all day long, an’ some few women because
they was sick. He’s arned the right to carry one woman jest fer her
beauty.”
In some confusion Yvonne turned away, very fearful of being
recognized. She hurriedly squeezed herself down in the stern by
Mother Pêche. The old dame’s hand sought hers, furtively, under the
cloak.
“I went to look for you, mother,” she whispered into the red shawl.
“I knew you’d come, poor heart, dear heart!” muttered the old
woman, with a swift peering of her strange eyes into the shadow of
the girl’s hood.
“I waited for you till they dragged me away. But I knew you’d come.”
“How did you know that, mother?” whispered Yvonne, delighted to
find that this momentous act of hers had seemed to some one just
the expected and inevitable thing. “Why, I didn’t know it myself till
half an hour ago.”
Mother Pêche looked wise and mysterious.
“I knew it,” she reiterated. “Why, dear heart, I knew all along you
loved him.”
And at last, strange as it may appear, this seemed to Yvonne de
Lamourie, penniless, going into exile with the companionship of
misery, an all-sufficient and all-explicative answer.
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

textbookfull.com

You might also like