# Harmonizing Multi-Source Remote Sensing Images for Summer Corn Growth Monitoring
## 2 Materials and Methods
### The Improved Kalman Filter
During this process, we first calculated the NDVI products based on the preprocessed reflectance images, including GF-1 images and MODIS images. Secondly, we used the NDVI products of MODIS images and GF-1 images to generate a set of 30-m resolution observation data (\(z_{k}\)) using ESTARFM model. Finally, the time trajectory of time series MODIS NDVI (sub-model 1) and the updated observation data resulting from ESTARFM model (sub-model 2) were used to harmonize GF-1 images and MODIS images. The main idea of updating the observation data for studied point-in-time using ESTARFM model is to establish the correlation of the two resolution images and to minimize the systematic error. The ESTARFM algorithm code which we used in this study is from [PERSON] [31] and the download address is ([[https://xiaolinzhu.weebly.com/open-source-code.html](https://xiaolinzhu.weebly.com/open-source-code.html)]([https://xiaolinzhu.weebly.com/open-source-code.html](https://xiaolinzhu.weebly.com/open-source-code.html))). The algorithm uses mobile windows, which size is \(\omega\) and determines the predicted values \(\hat{z}_{k}(m_{\omega/2},n_{\omega/2},k,B)\) of moving pixels in the center at \(k\) state. It can be calculated as follows, according to Equation (8):  
\[\hat{z}_{k}(m_{\omega/2},n_{\omega/2},k,B)=T_{ki}*\hat{z}_{ki}(m_{\omega/2},n_{ \omega/2},k,B)+T_{kii}*\hat{z}_{ki}(m_{\omega/2},n_{\omega/2},k,B) \tag{8}\]where \((m_{\omega/2},n_{\omega/2})\) is the central pixel, and the \(B\) represents the image bands. \(\hat{z}_{i}(m_{\omega/2},n_{\omega/2},k,B)\) and \(\hat{z}_{ii}(m_{\omega/2},n_{\omega/2},k,B)\) represent the fine-resolution data at \(i\) and \(ii\) state which is integrated by similar pixels in the moving window as Equation (9). \(T_{ki}\) and \(T_{kii}\) are time weight of state \(ki\) and \(kii\) as Equation (10). In these equations, we default that \(ki<k<kii\). \[ \begin{split}&\hat{z}_{i}(m_{\omega/2},n_{\omega/2},k,B)\\ &=z_{I}(m_{\omega/2},n_{\omega/2},k_{I},B)+\sum\limits_{j=1}^{N}w _{j}*v_{j}*\left(z_{low}\big{(}m_{j},n_{j},k,B\big{)}-z_{low}\Big{(}m_{j},n_{j},k_{I},B\big{)}\right)\\ & T_{I}=\frac{1/\left|\sum\limits_{\alpha=1}^{\omega}\sum\limits _{\beta=1}^{\omega}z_{low}\big{(}m_{\alpha},n_{\beta},k_{I},B\big{)}-\sum \limits_{\alpha=1}^{\omega}\sum\limits_{\beta=1}^{\omega}z_{low}\big{(}m_{ \alpha},n_{\beta},k,B\big{)}\right|}{\sum\limits_{l=i,\beta}\left(1/\left| \sum\limits_{\alpha=1}^{\omega}\sum\limits_{\beta=1}^{\omega}z_{low}\big{(}m_{ \alpha},n_{\beta},k_{I},B\big{)}-\sum\limits_{\alpha=1}^{\omega}\sum\limits_{ \beta=1}^{\omega}z_{low}\Big{(}m_{\alpha},n_{\beta},k,B\big{)}\right|}\right) \end{split}  \tag{10}\]  
where \(z_{I}\) expresses the low temporal resolution and high spatial resolution images, and \(z_{low}\) expresses the high temporal resolution and low spatial resolution images, the value of \(l\) is \(i\) and \(ii\), \(N\) is the number of and similar pixels embrace the central pixel, and \(\big{(}m_{j},n_{j}\big{)}\) is the location of the \(j\)th similar pixel, \(w_{j}\) and \(v_{j}\) represent the weight and the conversion coefficient of the \(j\)th similar pixel, respectively. The algorithm flow of the improved Kalman filter is shown in the Figure 3.  
The Kalman filtering algorithm is a recursive algorithm, which can perform forward filtering \(\hat{x}_{FK}\) and backward filtering \(\hat{x}_{Bk}\). For the state \(k\), the weighted sum of forward filtering and backward filtering can improve the reliability of a posteriori estimation, and weights are calculated from forward uncertainty \(P_{FK}\) and backward uncertainty \(P_{BK}\), as shown in Equations (11) and (12):  
\[\hat{x}_{FBk}=\hat{x}_{FK}[P_{FK}/(P_{FK}+P_{BK})]+\hat{x}_{Bk}[P_{BK}/(P_{FK} +P_{BK})] \tag{11}\]  
\[1/P_{FBk}=(1/P_{FK})+(1/P_{BK})-1/R_{k} \tag{12}\]