# Extraction of City Roads Using Luojia 1-01 Nighttime Light Data
## 3 Method
### Extraction of City Roads through a PCNN  
A PCNN is a kind of unsupervised artificial neural network, which does not have a training process. Different from other neural networks, the output of a PCNN is a series of pulse signals, each associated to one pixel or to a cluster of pixels. When applied to image processing, the output of a PCNN is a binary image, which describes the mutation information in images. Therefore, a PCNN has been widely used in the edge detection of objects in remote sensing images with its simple architecture and high accuracy [43; 44].  
A PCNN model consists of the following three parts: the input tree, the linking modulation and the pulse generator [45]. The structure of a PCNN is given in Figure 4. The input tree contains the following two channels: the linking channel and the feeding channel. The linking channel can only receive simulation from a neighborhood neural. The feeding channel can receive simulation both from the neighborhood neural and external input data. The two channels then transfer their input L and F to the linking modulation, and form a state U, which is then transformed to the pulse generator. The pulse generator contains a dynamic threshold value \(T\), which is compared with \(U\). The output of pulse generator \(Y\) is generated by the comparison through \(U\) and the initial \(T\) value. Additionally, a pulse signal will be produced through the numerical value of \(Y\). \(Y\) will also reversely adjust the threshold value \(T\), and then influence the next comparison process.  
The iterative process is described as an iteration by the following equations:  
\[F_{ij}[n]=e^{\partial_{F}}\times F_{ij}[n-1]+S_{ij}+V_{F}\sum_{kl}M_{ijkl}Y_{ kl}[n-1] \tag{9}\]  
\[L_{ij}[n]=e^{\partial_{L}}\times L_{ij}[n-1]+V_{L}\sum_{kl}W_{ijkl}Y_{kl}[n-1] \tag{10}\]  
where \(F_{ij}\) represents the value of the feeding channel, and \(L_{ij}\) represents the value of the linking channel. The decay constants of the two channels were \(\partial_{F}\) and \(\partial_{L}\). The feeding channel take consideration of the external dataset, represented by \(S_{ij}\). Both the feeding channel and the linking channel take consideration of the influence of the outputs from neighborhood neurons in the previous iteration \((n-1)\). \(M\) and \(W\) represent the weights of the neighborhood neuron in the feeding channel and the linking channel, respectively. The constants \(V_{F}\) and \(V_{L}\) are normalizing constants. The two values from the feeding channel and the linking channel were then transformed to the linking modulation, and formed a new state \(U\).  
\[U_{ij}=F_{ij}[n]\times\left(1+\delta L_{ij}[n]\right) \tag{11}\]  
where \(\delta\) is used to indicate the incidence of influence from neighborhood neurons. The stale is then transformed to the pulse generator and decides the output of PCNN.  
\[Y_{ij}[n]=\left\{\begin{array}{c}1,\;if\;U_{ij}[n]>\theta_{ij}[n]\\ 0,\;others\end{array}\right\} \tag{12}\]  
where \(\theta_{ij}[n]\) represents the dynamic threshold value, which is decided by the output of PCNN in the last iteration, as follows:  
\[\theta_{ij}[n]=e^{-\partial_{\theta}}\times\theta_{ij}[n-1]+V_{\theta}\times Y _{ij}[n] \tag{13}\]  
Figure 4: Structure of PCNN we established.  
It needs to be declared that the threshold value of the \(n\) iteration is \(\theta_{ij}[n-1]\); therefore, the threshold value in the next iteration \(\theta_{ij}[n]\) will be decided by the output of n iteration (\(\gamma_{ij}[n]\)).