DESCRIPTION

i.nightlights.intercalibration is a GRASS GIS module performing inter-satellite calibration on DMSP-OLS nighttime lights time series. Based on "well known" emprirical regression models, it calibrates average visible band Digital Number values.

Overview

+----------------------------------------------------------------------+
|                                                                      |
|          +-----------------+                                         |
| DNi +--> |Calibration Model| +--> Calibrated DN                      |
|          +---^-------------+            ^                            |
|              |                          |                            |
|              |             +--Evaluation+Methods-------------------+ |
|              |             |                                       | |
|              |             | ?                                     | |
|              |             |                                       | |
|              |             +---------------------------------------+ |
|                                                                    | |
| +--Regression+Models-----------------------------------------------+ |
| |                                                                  | |
| | Elvidge, 2009/2014: DNc = C0 + C1xDN + C2xDNv2                   | |
| |                                                                  | |
| | Liu,2012: based on Elvidge's model + optimal threshold method    | |
| |                                                                  | |
| | Wu, 2014:           DNc + 1 = ax(DN + 1)^b                       | |
| |                                                                  | |
| | Others?                                                          | |
| |                                                                  | |
| +------------------------------------------------------------------+ |
|                                                                      |
+----------------------------------------------------------------------+

Details

From a review paper:

"Several methods were proposed to overcome the lack of inter-satellite calibration. These include the invariant region and the quadratic regression method proposed by Elvidge et al. [23], the second-order regression and optimal threshold method proposed by Liu et al. [24], and a power-law regression method proposed by Wu et al. [25]. Although studies based on these calibration methods showed performance improvement after the rectification [24,25], the assumption that the nighttime light remains stable over time in a particular area requires a careful choice of the invariant region manually." [Huang 2014]

References above are: [23] [Elvidge 2009] [24] [Liu 2012] [25] [Wu 2013]

EXAMPLES

Given all maps are imported in GRASS' data base, which are:
g.list rast pattern="F*"
F101992
F101993
F101994
F121994
F121995
F121996
F121997
F121998
F121999
F141997
F141998
F141999
F142000
F142001
F142002
F142003
F152000
F152001
F152002
F152003
F152004
F152005
F152006
F152007
F162004
F162005
F162006
F162007
F162008
F162009
F182010
F182011
F182012

the default inter-calibration, based on [Elvidge 2014], can be performed as:

i.nightlights.intercalibration image=$(g.list rast pattern="F*" sep=comma) suffix=calib_elv

An improved inter-calibration model is based on [Wu 2013], can be performed as:

i.nightlights.intercalibration image=$(g.list rast pattern="F*stable_lights*" sep=comma) model=wu2013 suffix=calib_wu

Remarks

In case the calibration models do not include regression coefficients for all of the yearly products, the module will fail and inform with an error message like:

i.nightlights.intercalibration image=$(g.list rast pattern="F??????" sep=comma) model=liu2012 --v
... ValueError: The selected model does not know about this combination of
Satellite + Year!

Example figures

To be added...

TODO

in general:

in i.nightlights.intercalibration.py:

in calibration_models.py:

another module?

REFERENCES

Review paper

Empirical second order regression model by Elvidge, 2009 | Y = C0 + C1*X + C2*X^2

Second order regression model & optimal threshold method by Liu, 2012

Non-linear, power regression model

AUTHOR

Nikos Alexandris

Last changed: $Date$