How Analyze Changes Using CCDC works

Available with Image Analyst license.

The Analyze Changes Using CCDC tool, in conjunction with the Detect Change Using Change Analysis Raster tool, can be used to identify changes in pixel values over time to indicate land use or land cover changes.

Continuous change detection

The Analyze Changes Using CCDC tool uses the Continuous Change Detection and Classification (CCDC) algorithm (Zhu and Woodcock, 2014) to evaluate changes in pixel values over time for a stack of images. In a time series of optical imagery or imagery derivatives (for example, NDVI), pixel values can fluctuate for several reasons:

  • Seasonal change—Pixel value changes reflect changes in vegetation due to seasonal variability of temperature, sunlight, and precipitation. In the northern hemisphere, for example, a higher density of green vegetation in summer compared to winter is expected.
  • Gradual change—Pixel value changes reflect trends in vegetation or surface water due to climate variability or long-term land management practices. For example, bare soil may gradually increase in area due to long-term decline in precipitation.
  • Abrupt change—Pixel value changes reflect land cover changes that occur suddenly due to deforestation, urban development, natural disasters, and so on.

The CCDC algorithm identifies all three change types with the primary purpose of identifying abrupt change. Harmonic regression and trend models are fitted to the data to estimate seasonal and gradual change, and sudden deviations from the trend models are indications of abrupt change.

Input data types

The CCDC algorithm was designed for Landsat TM, Landsat ETM+, and Landsat OLI data Surface Reflectance or Brightness Temperature data. However, the Analyze Changes Using CCDC tool will detect change for multiband imagery from any supported sensor, as well as single-band imagery derivatives such as band indexes. For example, you can perform continuous change detection on a normalized difference vegetation index (NDVI) raster, because abrupt changes in NDVI can be indicative of deforestation or other sudden vegetation loss.

Cloud, cloud shadow, and snow

Land cover change detection can be complicated by the presence of clouds, cloud shadow, and snow in a time series of remote sensing imagery. These affected pixels in the time series must be masked to prevent the incorrect flagging of a cloud or a patch of snow as a land cover change. Because cloud shadow and snow appear very dark in the shortwave infrared (SWIR) band, and clouds and snow appear very bright in the green band, these two bands are used in a robust iteratively reweighted least squares (RIRLS) model to mask these phenomena. The model generates time series plots of the green and SWIR bands, and model results are compared to real pixel values to determine outliers, which are then masked and removed from analysis.

Change detection

The seasonal and gradual changes that occur for pixel values over time are modeled for each band in the imagery using the ordinary least squares (OLS) method. The difference between the predicted, modeled pixel value and the true pixel value is calculated. When the difference between the values is three times greater than the root mean square error (RMSE), that pixel is flagged as a possibility for land cover change.

Potential land cover change is then assessed for true change based on the number of consecutive observations. If a pixel's value is markedly different from the model results only once, this is likely an outlier. If the pixel's value is markedly different from the model results for a given number of consecutive observations, the algorithm considers that pixel to have changed. The minimum number of consecutive observations can be controlled in the Analyze Changes Using CCDC tool with the Minimum Consecutive Anomaly Observations parameter.

Abrupt change in pixel values over time, accounting for seasonality

The output from the Analyze Changes Using CCDC tool is a change analysis raster containing the model coefficients. This can be difficult to interpret visually, so there are several other ways to interpret the data:

  • Create a temporal profile chart to explore pixel changes over time. The change analysis raster will display pixels with similar colors if they have similar change patterns.
  • Use the change analysis raster as the input to the Detect Change Using Change Analysis Raster tool to determine when and how often a pixel was flagged for land cover change.
  • Create training samples and use the change analysis raster to perform image classification. In addition to model coefficients, the change analysis raster also contains the spectral information needed to classify land cover types. The next section describes this process in more detail.

Land cover classification

The final step in the CCDC algorithm is to classify the land cover for all slices in your multidimensional dataset. The Analyze Changes Using CCDC tool does not perform this step, but the output of the tool can be used as input to the training and classification tools.

The change analysis raster may provide better classification results for time series rasters because it incorporates spectral information in addition to model information. When land cover classes vary seasonally or gradually over time, the harmonic and trend model coefficients inform the classification process to produce land cover categories that were generated with spectral and temporal data.

Training samples

To classify the change analysis raster, you must first generate training samples using the Training Samples Manager. Training sample polygons can be created using the original time series imagery as reference, since the change analysis raster is difficult to interpret visually.

Generate training samples for different slices in the dataset to reflect different times. Change the slice that is currently displayed using the controls on the Multidimensional tab, and create a training sample for the currently displayed slice to include the slice's time in the training sample attributes. It's important to capture training samples for classes that only exist in certain slices, for example, a Deciduous Trees class that only exists in warmer months.

The number and distribution of samples depend on your imagery, application, accuracy requirements, and time constraints. Ideally, there should be a similar number of samples in each land cover class and the samples should be evenly distributed throughout the spatial extent of the imagery. For a time series of raster imagery, there should be training samples over several slices in the data so the spectral information of the training samples can be fitted along the harmonic curves modeled by the Analyze Changes Using CCDC tool. A statistically significant number of training samples is recommended.


After capturing training samples, the change analysis raster can be classified. For best results, it is recommended that you use one of the machine learning classifier geoprocessing tools, either Train Random Trees Classifier or Train Support Vector Machine Classifier to train the classification model. The input raster will be the change analysis raster output from the Analyze Changes Using CCDC tool. The training samples will be those you collected for the time series raster dataset.

Finally, use the Classify Raster tool to classify the change analysis raster, resulting in a time series of land cover rasters in a multidimensional dataset.


Zhu, Zhe, and Curtis. E. Woodcock. "Continuous change detection and classification of land cover using all available Landsat data." Remote Sensing of Environment 144 (2014) 152-171.

Zhu, Zhe, Junxue Zhang, Zhiqiang Yang, Amal H. Aljaddani, Warren B. Cohen, Shi Qiu, and Congliang Zhou. "Continuous monitoring of land disturbance based on Landsat time series." Remote Sensing of Environment 238 (2020): 111116