Monday, February 7, 2011

Assignment 2: Filtering, Enhancement, and Extraction

For this assignment we were provided with an image that had various noise artifacts which made it unappealing and difficult to analyse. Noise artifacts in satellite imagery are often the result of sensor or equipment error. They can also be caused by a backscatter from the terrain being photographed and will often show up as static on an image. Our objective was to clear up the noise artifacts using various algorithms and filters.

Above is the original image we were provided with for this assignment. It is depicted in its original format. Below is the image in a grayscale format. We can already see the effects of noise artifacts along the top and left-hand corner of the image. We will later view each band within the image to analyse where noise artifacts affect the image the most.

In total, there are 5 bands in the image provided. Bands 1, 2 and 3 show evidence of noise artifacts while bands 4 and 5 appear relatively clear. In the next section, I will be describe the appearance of all the bands and highlight the noise artifacts in those that are affected.

_____________________________________________________________________


Above is the grayscale image of band 1 where the presence of noise artifacts is relatively clear. The image below will highlight the noise artifacts. Following the description is a short explanation of highlighted areas.



1. The first area highlighted shows a large amount of speckle noise static which is consistent throughout the entire image. This can be caused by the interference of radar waves or through sensor/equipment errors.
2. The second area highlighted shows a streak running across the left-hand corner of the image. This can be caused by sensor or equipment error.


_____________________________________________________________________


Above is the grayscale image of band 2 where the presence of some noise artifacts is clear. The image below will highlight the noise artifacts. Following the image below is a short explanation of the highlighted affected areas.


 
1. The first area highlighted shows a distinct black line running through the top of the image called linear pattern noise. This can be caused by sensor or image processing errors.
2. The second area highlighted shows the same streak which appears in band 1. This is caused by the same reasons explained previously.


_____________________________________________________________________


Above is the grayscale image of band 3 where most of the presence of noise artifacts is relatively clear. The image below will highlight the noise artifacts. Following the image below is a short explanation of the highlighted affected areas.



1. The first area selected highlights a section of the salt and pepper static that appears throughout the entire image. This static can be caused through interference of different kinds of particles such as dust.
2. The second area highlighted shows the same streak occurring in bands 1 and 2 but it is not as defined in band 3. This is caused by the same reasons previously explained.


_____________________________________________________________________


Above is the grayscale image of band 4 and below is the grayscale image of band 5. They do not show any sort of noise artifacts and appear to be relatively clear images. There has been no severe distortion to these images.

_____________________________________________________________________


The following images will depict the various algorithms and filters used to try and clean up the bands of the image which have been affected by noise artifacts. This includes bands 1, 2 and 3. There were three different algorithms used including the FLE: Lee SAR Speckle Filter, FME: Median Filter and the Maximum Noise Fraction Based Noise Removal Filter (MNFNR).


Before I could begin cleaning the images, I had to first open the Algorithm Library. This can be found under the ‘Tools” drop down menu in PCI Geoinformatica. The above image shows the Algorithm Library being opened using the steps mentioned.

_____________________________________________________________________



In order to find the Speckle Filter that I wanted to use for band 1, I had to search for it. By using the ‘Find’ option in the ‘All Algorithms’ folder, I typed ‘lee’ into the ‘Find what’ field. The box that says ‘Match algorithm description using any keyword’ was selected and the ‘Find’ button was pressed. The ‘FLE: Lee SAR Speckle Filter’ was found and used. The above image shows the explained process taking place.


For band 1, the FLE: Lee SAR Speckle Filter was selected. This filter was used because it helps to smooth out noise while attempting to preserve edges and various shape features within the image. After the ‘FLE: Lee SAR Speckle Filter’ was selected, the ‘FLE Module Control Panel’ opened. I had to ensure that the input feature was band 1 but I also included bands 2 and 3 because I wanted to see which band it was the most effective on. The output was placed onto the grayscale images of each input band selected. ‘Run’ was then selected in the module and the algorithm was run. The above image visualizes the explained process.

Above is the grayscale image of band 1 before adding the FLE: Lee SAR Speckle Filter. Below is the image after adding the desired filter. Through a comparison of the two images, we can see that the added filter helped to smooth out the static in the image. Although the image appears to be softened after adding the algorithm, the hard edges defining the roads and various landforms are still evident. It would be very difficult to clear the image perfectly, although, the application of the speckle filter helps to make the analysis of the image easier.


_____________________________________________________________________



In order to find the Median Filter that I wanted to use for band 2, I again had to search for it in the ‘Algorithm Library’ which can be found using the same steps mentioned previously. By using the ‘Find’ option in the ‘All Algorithms’ folder, I typed ‘median’ into the ‘Find what’ field. The box that says ‘Match algorithm description using any keyword’ was selected and the ‘Find’ button was pressed. The ‘FME: Median Filter (Up to 33 x 33)’ was found and used. The above image shows the explained process taking place.


For band 2, the FME: Median Filter (Up to 33 x 33) was selected. This filter was used because it can help remove the speckle and artefact noise which is evident in band 2 of the image provided. After the ‘FME: Median Filter (Up to 33 x 33)’ was selected, the ‘FME Module Control Panel’ opened. I had to ensure that the input feature was band 2 because band 2 is the band I wanted to fix. I also ran the algorithm on bands 1 and 3 afterwards because I wanted to see which band it was the most effective on. The output was placed onto the grayscale images of each input band selected. ‘Run’ was then selected in the module and the filter was applied. The above image visualizes the explained process.
Above is the grayscale image of band 2 before adding the FME: Median Filter (Up to 33 x 33). Below is the image after adding the desired filter. Through a comparison of the two images, we can see that the added filter helped to remove the small amount of static in the image. The filter also helped to remove the artifact noise which is depicted as the well defined black line at the top of the original image of band 2 (above). Although the image appears to be slightly softened after adding the algorithm, the hard edges defining the roads and various landforms are still evident. The brightness of band 2 is also preserved in the image (below) that has a filter on it. It would be very difficult to clear the image perfectly, although, the application of the median filter helps to make the analysis of the image easier.

_____________________________________________________________________



In order to find the MNFNR: Maximum Noise Fraction Based Noise Removal Filter that I wanted to use for band 3, I again had to search for it in the ‘Algorithm Library’ which can be found using the same steps mentioned previously. By using the ‘Find’ option in the ‘All Algorithms’ folder, I typed ‘mnfnr’ into the ‘Find what’ field. The box that says ‘Match algorithm name’ was selected and the ‘Find’ button was pressed. The ‘MNFNR: Maximum Noise Fraction Based Noise Removal ’ was found and used. The above image shows the explained process taking place.


For band 3, the MNFNR: Maximum Noise Fraction Based Noise Removal Filter was selected. This filter was used because it can help remove the speckle and artefact noise. After the ‘MNFNR: Maximum Noise Fraction Based Noise Removal Filter’ was selected, the ‘MNFNR Module Control Panel’ opened. I had to ensure that the input feature was band 3 because band 3 is the band I wanted to fix. I also ran the algorithm on bands 1 and 2 afterwards because I wanted to see which band it was the most effective on. For this specific filter I also had to input bands 4 and 4 as a reference for the application. This is because the clean bands were used as a reference for the application of the NMFNR filter. The output was placed onto the grayscale images of each input band selected. ‘Run’ was then selected in the module and the filter was applied. The above image visualizes the explained process.
Above is the grayscale image of band 3 before adding the MNFNR: Maximum Noise Fraction Based Noise Removal Filter. Below is the image after adding the desired filter. Through a comparison of the two images, we can see that the added filter helped to remove the salt and pepper static evident through the entire image of band 3. The added filter did not take too much away from the detail of the original image. The hard edges defining the roads and various landforms are still evident. It is very difficult to clear the image perfectly, although, the application of the MNFNR filter helps to make the analysis of the image easier.

_____________________________________________________________________


There were no filters added to bands 4 and 5 because they showed no evidence of artifact noise. They did not have to be cleaned for analysis.

_____________________________________________________________________


The next step of the assignment was to extract the roads from the noise reduced image provided for the assignment. To do so, I had to extract the noise reduced red band (band 3) from the image and apply the following in the ‘Raster Calculator’.


Red + [(Red – Fuzzy) * x]
Where: X = 2, 8 and 16


For the above formula, Fuzzy represents the Red band after processing with a 3×3 low pass filter and x represents a scaling factor applied to help emphasize the effect of enhancement.




The above images show the formula in the ‘Raster Calculator’ being changed 3 times, each time with a different scaling factor. The following images are the results of running the formula 3 different times with 3 different scaling factors.
I also looked at the above images in its True Colour Representation as well as its False Colour Representations. The following images will show each image in each colour representation and each with a different scaling factor added. A short explanation will follow each image.
Above is the true colour representation of the image. Below is the image repeated three times but with scaling factors of 2, 8 then 16.


The above image shows how the RGB mapper was changed to show the image in its True Colour Representation.
Above is the false colour representation of the image. Below is the image repeated three times but with scaling factors of 2, 8 then 16.

The above image shows how the RGB mapper was changed to show the image in its False Colour Representation.




The above images are the histograms for each scaling factor used on the image. They all appear to be the same but I am not sure why. They were not used to decide which image to use for my roads extraction of the image.

Based on a thorough observation of all scaling factors within both colour representations, I believe that a scaling factor of 16 provides the best enhancement of the roads. This is because the true colour representation brightens the roads to an easy to notice cyan colour. The scaling factor of 16 with the true colour presentation also helps to show exactly where the roads are since the image appears to be coarser. This made the roads easier to pick out.

The same goes for the false colour representation of the image with a scaling factor of 16. Roads appear as a very light pink colour, which allows them to stand out in the image. The scaling factor of 16 with the false colour representation also helps to show exactly where the roads are since the image appears to be coarser.

_____________________________________________________________________


The next step of this assignment was to extract the roads from the image and clean up any left over noise so that the binary layer would just show the roads.


The above image shows me searching for the THR filter in the algorithm library. This was the filter used to extract the roads from my image. The image below shows me running the THR filter in the ‘THR Module Control Panel’. For the ‘Input Params 1’ the ‘Threshold Minimum’ had to adjusted because we wanted to see what the pixel values of the roads was. Adjusting the ‘Threshold Minimum’ to ‘60’ allowed us to extract pixel values of 60 and higher. This would allow for an easier clean up of the roads extraction because less pixels would be left to clean. The image below shows the ‘Threshold Minimum’ being set to ‘60’.


The following image was the result of running the THR filter on my image. Roads appear as solid lines that aided in their clean up. The true and false colour representations were also used as a reference aiding in the clean up of the roads extraction.



The above image shows the roads after clean up. The ‘Raster Eraser’ was used to erase any unnecessary pixels from the roads extraction. Above is the final ‘Roads’ layer that was to be used for this section of the assignment.

I then had to convert the binary layer into a line layer. To do so, I had to find the ‘BIT2LINE’ filter in the ‘Algorithm Library’ and run the filter on my cleaned up extraction of the roads. The following image shows me running the filter on the cleaned up layer.


Once the bit layer was converted to a line layer, I then had to convert it to a vector layer so I could add it as a feature layer on my final map for this section of the assignment. The following image shows me converting the line layer to a vector layer. To do so, I had to right click the layer and click ‘Save As’. The window in the following image is what pops up once you click ‘Save As’. The image below it is the layer shown map form.


Once I finished converting the line layer to an arc layer, I added the layer over my true colour representation of it to form my map. The following is the final map that shows the original image in the true colour format, with the roads layer added over top.