'''GSoC 2016 Proposal:''' [[BR]] [https://summerofcode.withgoogle.com/projects/#4790138697678848] '''Project Git repository:''' [[BR]] [https://github.com/martidi/opencv_dsm/tree/imageStack] [[BR]] [[BR]] === Weekly Report 1 (29th May, 2016) === WHAT I GET DONE THIS WEEK: I scrubbed and thoroughly restructured all the code written last year in order to facilitate the creation of new classes aimed to the deployment of the new functionalities that I have planned to implement. I worked (and I am still working) on the workflow for SAR imagery: as a matter of fact SAR images require a different managing with respect to the optical ones. So far it is possible to open TerraSAR imagery within DATE plug-in. [[BR]] WHAT I PLAN ON DOING NEXT WEEK: To complete the workflow for SAR imagery. To begin the implementation of the complete automatization of the pyramidal approach. To test and control implementation efficacy – discuss results with mentors. [[BR]] SOMETHING ON WHICH I AM BLOCKED: At the moment I am not blocked on anything. [[BR]] === Weekly Report 2 (05th June, 2016) === WHAT I GET DONE THIS WEEK: I have completed the workflow for processing TerraSAR images: at the moment, after an external tiff image file creation from the xml file, it is feasible to automatically process TerraSAR images and generate a DSM from them. I have begun the implementation of the complete automatization of the pyramidal approach. I still have some issues related to the automatic re-opening of the freshly generated DSM: to switch from a resolution level to the following it is necessary to access the last generated DSM and use it as coarse DSM for re-projection. [[BR]] WHAT I PLAN ON DOING NEXT WEEK: To complete the implementation of the complete automatization of the pyramidal approach. To test and control implementation efficacy – discuss results with mentors. [[BR]] SOMETHING ON WHICH I AM BLOCKED: At the moment I have some issues related to the automatic re-opening of DSM generated at the current resolution level, which has to be used as a coarse DSM for the next level for image re-projection. [[BR]] === Weekly Report 3 (12th June, 2016) === WHAT I GET DONE THIS WEEK: I have continued working on the complete automatization of the pyramidal approach: thanks to my mentors's help, I have found a proper way to cope with this issue, but it still doesn't work for a compiling problem I think I will fix in the next few days. I have begun working on the automatic mask creation for lay-over areas in SAR imagery: so far, I have created a routine able to create simulated images from raw images and exploiting the coarse dsm information. Starting from that, I'm going to create a mask to cross out lay-over areas. [[BR]] WHAT I PLAN ON DOING NEXT WEEK: To complete the implementation of the automatization of the pyramidal approach. To continue working on automatic mask creation for lay-over areas in SAR imagery. To test and control implementation efficacy – discuss results with mentors. To fix bugs and review code. To draft the mid-term report. [[BR]] SOMETHING ON WHICH I AM BLOCKED: At the moment I have some issues related to OSSIM compiling from the new repository, but I'm pretty sure I will fix it in the next few days. [[BR]] === Weekly Report 4 (19th June, 2016) === WHAT I GOT DONE THIS WEEK: I have finished working on the complete automatization of the pyramidal approach: thanks to my mentors's help, I have found a proper way to solve this issue and now it works fine. I have fixed the issue related to OSSIM compiling. I have continued working on the automatic mask creation for lay-over areas in SAR imagery. I have begun drafting the mid-term report. [[BR]] WHAT I PLAN ON DOING NEXT WEEK: To finalize and submit the mid-term report. To fix bugs and review code. [[BR]] SOMETHING ON WHICH I AM BLOCKED: At the moment I am not blocked on anything. [[BR]] === Weekly Report 5 (26th June, 2016) === WHAT I GOT DONE THIS WEEK: I have finalized and submitted the mid-term report. I have fixed bugs and reviewed code. I have attended the 36th EARSeL Symposium in Bonn presenting last year GSoC work and its development. [[BR]] WHAT I PLAN ON DOING NEXT WEEK: To continue working on the automatic mask creation for lay-over areas in SAR imagery. To test and control implementation efficacy – discuss results with mentors. [[BR]] SOMETHING ON WHICH I AM BLOCKED: At the moment I am not blocked on anything. [[BR]] === Weekly Report 6 (3rd July, 2016) === WHAT I GOT DONE THIS WEEK: I have begun the implementation of a merging phase between different disparity maps: as a matter of fact, I've decided to shift the merging phase from DSM to disparity map. I'm testing a Total Generalized Variation approach, with different weights to the disparity maps according to lay-over areas detected on the images. [[BR]] WHAT I PLAN ON DOING NEXT WEEK: To continue working on disparity merging. To continue working on the automatic mask creation for lay-over areas in SAR imagery, in order to bring the app created outside DATE (in the OSSIM apps directory) inside the code core. To test and control implementation efficacy – discuss results with mentors. [[BR]] SOMETHING ON WHICH I AM BLOCKED: At the moment I am not blocked on anything. [[BR]] === Weekly Report 7 (10th July, 2016) === WHAT I GOT DONE THIS WEEK: I have continued the implementation of a merging phase between different disparity maps. As you can see from the figures that lie beneath, from an initial mean disparity map of a little urban tile (1st image), and an "edge" map (derived from raw ortho images), I obtain now a final optimized map (2nd figure), enough better of the initial one. This means that, exploiting information from different disparity maps (in this case 3) I am able to improve the trivial result of a pure mean calculation. [[Image(mappa_media.jpg, 500)]] [[Image(mappa_fusa.jpg, 500)]] This is done, so far, with an exterior tool non-embedded in DATE. [[BR]] WHAT I PLAN ON DOING NEXT WEEK: To continue working on disparity merging and begin to "translate" from Matlab to C++ this external tool in order to include it in the plug-in. To continue working on the automatic mask creation for lay-over areas in SAR imagery, in order to bring the app created outside DATE (in the OSSIM apps directory) inside the code core. To test and control implementation efficacy – discuss results with mentors. [[BR]] SOMETHING ON WHICH I AM BLOCKED: At the moment I am not blocked on anything. [[BR]] === Weekly Report 8 (17th July, 2016) === WHAT I GOT DONE THIS WEEK: I have begun working on the translation from Matlab to C++ of the disparity merging code. Since I spent almost the whole week at the ISPRS (International Society for Photogrammetry and Remote Sensing) Congress in Prague, where I gave a presentation, I didn't work on mask creation, but rather on documentation: I've created a manual (attached) for installing OSSIM and DATE in a blank Ubuntu 16.04 OS. [[BR]] WHAT I PLAN ON DOING NEXT WEEK: To continue working on disparity merging and begin to "translate" from Matlab to C++ this external tool in order to include it in the plug-in. To continue working on the automatic mask creation for lay-over areas in SAR imagery, in order to bring the app created outside DATE (in the OSSIM apps directory) inside the code core. To test and control implementation efficacy – discuss results with mentors. [[BR]] SOMETHING ON WHICH I AM BLOCKED: At the moment I am not blocked on anything. [[BR]] === Weekly Report 9 (24th July, 2016) === WHAT I GOT DONE THIS WEEK: I have continued working on the automatic mask generation for foreshortening and layover areas in SAR images: by now, inside DATE source code, it is possible to mask the areas with geometric distortion due to foreshortening and layover effects. As you can see in the following figure, the black areas are those with less distortions whereas the white ones are those that show the greatest geometric distortions. [[Image(mask.png, 500)]] [[BR]] WHAT I PLAN ON DOING NEXT WEEK: To continue working on the automatic mask creation in order to finally implement the generation of a DSM masked. To continue working on disparity merging, testing the Matlab code and improving it choosing a proper fusion technique. To test and control implementation efficacy – discuss results with mentors. [[BR]] SOMETHING ON WHICH I AM BLOCKED: At the moment I am not blocked on anything. [[BR]] === Weekly Report 10 (31st July, 2016) === WHAT I GOT DONE THIS WEEK: I have finished working on the automatic masks generation for foreshortening and layover areas in SAR images: so far, it is possible to generate a DSM from SAR imagery (automatically detecting the ascending or descending orbit), masked for foreshortening and layover areas in order to correct from potential geometric distortions. [[BR]] WHAT I PLAN ON DOING NEXT WEEK: To continue working on disparity merging, testing the Matlab code and improving it choosing a proper fusion technique. To test and control implementation efficacy – discuss results with mentors. [[BR]] SOMETHING ON WHICH I AM BLOCKED: At the moment I am not blocked on anything. [[BR]] === Weekly Report 11 (07th August, 2016) === WHAT I GOT DONE THIS WEEK: I have implemented the DSMs fusion on the basis of mean and standard deviation of ascending and descending stacks and of the automated generated masks for foreshortening and layover areas in SAR images. [[BR]] WHAT I PLAN ON DOING NEXT WEEK: To switch from the mean calculation to the median in the masks weight for DSMs merging. To continue testing the code to check if it correctly works also in morphologically complex areas. To test and control implementation efficacy – discuss results with mentors. [[BR]] SOMETHING ON WHICH I AM BLOCKED: At the moment I have a problem with masks generation (sometimes wrong masks are created) and DSMs generation (wrong horizontal lines are generated in the DSMs) but I'm already working to fix it. [[BR]] === Weekly Report 12 (14th August, 2016) === BRIEF DESCRIPTION OF THE IDEA: My project concerned the improvement and the implementation of new functionalities for DATE (Digital Automatic Terrain Extractor) OSSIM plug-in, which development I had started two years ago. In particular the focus was about the complete automatization of the pyramidal approach of the tool chain and the creation of a complete workflow for DSMs generation from SAR images. [[BR]] THE STATE OF THE PROJECT AS IT WAS BEFORE MY 2016 GSoC: Before this GSoC, DATE was an OSSIM plug-in for DSMs generation from optical stereo-pair and triplets, not able to process SAR images. Moreover, if you have got more than a triplets, for example a stack of images, you had to manually merge the DSMs obtained to fuse the informations. Furthermore, the pyramidal approach implemented was not automatic. [[BR]] THE ADDITION THAT MY PROJECT BROUGHT TO THE SOFTWARE: My work has complemented OSSIM with some processing algorithms for high resolution satellite optical and SAR images. With my addition, now it is possible to generate automatically DSMs from SAR imagery using an iterative coarse-to-fine approach, to take advantage of iterative solutions at gradually increasing resolution. Furthermore, I have implemented automatic masks generation for foreshortening and layover areas in SAR images: so far, it is possible to generate a DSM from SAR imagery (automatically detecting the ascending or descending orbit), masked for foreshortening and layover areas in order to correct from potential geometric distortions. Moreover, in order to obtain a more accurate DSM by exploiting the redundancy of multiple information, I have implemented the DSMs merging on the basis of mean and standard deviation of ascending and descending stacks and of the automated generated masks for foreshortening and layover areas in SAR images. Here https://github.com/martidi/opencv_dsm/tree/imageStack you can find all the code I developed and the instructions to test it. An image to show the main elements of my project will be soon loaded on the OSGeo wiki.