Hi Rashad, thanks again. Where can I find documentation about naming conventions of baselines filename?
2015-08-13 15:30 GMT+02:00 Rashad M <[email protected]>: > > > On Thu, Aug 13, 2015 at 1:01 PM, Rémi Cresson <[email protected]> wrote: > >> I've commited the changes. >> -fix doxygen in headers >> -test now run using otb-data input (but validation data needs to exist >> somewhere... I keep one test result in "test" directory) >> I removed images from my git. However I guess ideal tests must be ran on >> special data (I need partly overlapping images, better if they are RGB or >> multispectral. I checked in otb-data but I didn't find this kind of data) >> > > In that case, your images should be added to OTB-Data > > OTB-Data/Input > OTB-Data/Baselines/OTB/Images/ > > Note that in OTB-Data baselines filenames for the test have a naming > convention. > Have a at look here: > https://git.orfeo-toolbox.org/otb-data.git/tree/HEAD:/Baseline/OTB/Images > > > > >> 2015-08-13 12:34 GMT+02:00 Rashad M <[email protected]>: >> >>> >>> >>> On Thu, Aug 13, 2015 at 12:15 PM, Rémi Cresson <[email protected]> >>> wrote: >>> >>>> Thank you, I've modified the headers (It seems like I can add some >>>> latek?). >>>> should I left the test validation data into the "test" directory? >>>> >>> >>> you can test with some exisiting data on otb-data repo and remove images >>> from your git. This is unless your data is special for your module. >>> >>> Also fix the errors in argument names for test >>> https://github.com/remicres/otb-mosaic/blob/master/test/CMakeLists.txt#L5 >>> >>> >>>> many thanks >>>> >>>> 2015-08-13 10:48 GMT+02:00 Rashad M <[email protected]>: >>>> >>>>> you need add only to filters and not applications. >>>>> >>>>> see example, >>>>> https://github.com/jmichel-otb/GKSVM/blob/master/include/otbChangeProfileKernelFunctor.h#L44 >>>>> >>>>> >>>>> >>>>> On Thu, Aug 13, 2015 at 10:38 AM, Rémi Cresson <[email protected]> >>>>> wrote: >>>>> >>>>>> Thank you Rashad, >>>>>> >>>>>> I am trying to use otb baseline in the (fixed) new test. >>>>>> About doxygen, I will look into existing otb code to mimic. Do you >>>>>> mean I must add the \ingroup to each filters, app, or both? >>>>>> >>>>>> >>>>>> >>>>>> 2015-08-13 9:59 GMT+02:00 Rashad M <[email protected]>: >>>>>> >>>>>>> >>>>>>> >>>>>>> On Wed, Aug 12, 2015 at 7:58 PM, Rémi Cresson <[email protected]> >>>>>>> wrote: >>>>>>> >>>>>>>> Hello Rashad, >>>>>>>> >>>>>>>> Thank you for testing it. >>>>>>>> I made the changes you suggest, except I put sources in include >>>>>>>> folder (instead of src). >>>>>>>> >>>>>>> >>>>>>> yes that is correct. it was my bad mentioning src if you dont have >>>>>>> .cxx in library >>>>>>> >>>>>>> >>>>>>>> I had to read the dashboard output, because it compiled fine on my >>>>>>>> system without any error... >>>>>>>> >>>>>>> >>>>>>> I have the new build without errors. But however tests are failing. >>>>>>> But that can be fixed easily. Have a look at - >>>>>>> >>>>>>> http://dash.orfeo-toolbox.org/testDetails.php?test=32229576&build=195008 >>>>>>> >>>>>>> For doxygen, it is required to mention the ingroup in the header as >>>>>>> doxygen comments. >>>>>>> >>>>>>> >>>>>>> Dasboard submission: >>>>>>> >>>>>>> http://dash.orfeo-toolbox.org/testDetails.php?test=32229575&build=195008 >>>>>>> >>>>>>> >>>>>>> >>>>>>> you have test images which is now in test folder. But usually OTB >>>>>>> keeps all baseline and example data in OTB-Data repository. >>>>>>> So if you could run the test on some images already existing in >>>>>>> OTB-Data, I think that would be nice. Also I am not sure about adding >>>>>>> new >>>>>>> baseline for remote modules which are not official yet. >>>>>>> >>>>>>> OTB-Data -https://git.orfeo-toolbox.org/otb-data.git >>>>>>> >>>>>>>> >>>>>>>> Waiting for your feedback ! >>>>>>>> >>>>>>>> Rémi >>>>>>>> >>>>>>>> >>>>>>>> 2015-08-12 17:15 GMT+02:00 Rashad M <[email protected]>: >>>>>>>> >>>>>>>>> Hi, >>>>>>>>> >>>>>>>>> On Mon, Aug 10, 2015 at 6:56 PM, remicres <[email protected]> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> Hi, >>>>>>>>>> >>>>>>>>>> I've just commited a remote module on GitHub wich deals with >>>>>>>>>> image mosaics generation ( >>>>>>>>>> https://github.com/remicres/otb-mosaic.git). >>>>>>>>>> Provided are mosaicing filters and one application. >>>>>>>>>> All filters support streaming. The application performs the >>>>>>>>>> mosaic generation of multiple images, whith some color/radiometric >>>>>>>>>> harmonization features, and feathering features (Details are provided >>>>>>>>>> above*) >>>>>>>>>> >>>>>>>>>> I hope that you will try and enjoy it. Keep me updated about >>>>>>>>>> issues ! Feel free to ask questions, if any. >>>>>>>>>> >>>>>>>>> >>>>>>>>> I tried to setup nightly build for your remote module but didnt >>>>>>>>> work. >>>>>>>>> >>>>>>>>> here is the dasboard output: >>>>>>>>> http://dash.orfeo-toolbox.org/buildSummary.php?buildid=194873 >>>>>>>>> >>>>>>>>> From first look, >>>>>>>>> >>>>>>>>> you have all code in app folder include .h and .hxx. >>>>>>>>> >>>>>>>>> but otb remote module needs: >>>>>>>>> >>>>>>>>> all library code in src/*.h *.txx ( .txx is because all other >>>>>>>>> modules use it that way. you need to confirm with someone else in the >>>>>>>>> list) >>>>>>>>> >>>>>>>>> all application code in app/ >>>>>>>>> >>>>>>>>> Also please add a file like the below in your git repo. >>>>>>>>> >>>>>>>>> https://github.com/jmichel-otb/GKSVM/blob/master/GKSVM.remote.cmake >>>>>>>>> >>>>>>>>> >>>>>>>>>> >>>>>>>>>> Cheers, >>>>>>>>>> >>>>>>>>>> Rémi >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> * The application: >>>>>>>>>> >>>>>>>>>> - From a given input images list, a mosaic is produced. The >>>>>>>>>> pipeline supports streaming, so there is no restriction on images >>>>>>>>>> number or >>>>>>>>>> size. >>>>>>>>>> - It implements a color harmonization method explained on our >>>>>>>>>> paper: Cresson R., Saint-Geours N., "Natural Color Satellite >>>>>>>>>> Image Mosaicking Using Quadratic Programming in Decorrelated Color >>>>>>>>>> Space"IEEE Journal of Selected Topics in Applied Earth >>>>>>>>>> Observations and >>>>>>>>>> Remote Sensing (Volume:PP , Issue: 99) July 2015 >>>>>>>>>> >>>>>>>>>> <http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=7154397&filter%3DAND%28p_IS_Number%3A4609444%29>. >>>>>>>>>> In brief, it performs the global colorimetric harmonization of >>>>>>>>>> overlapping >>>>>>>>>> images in natural colors (i.e. input images must have 3 bands, >>>>>>>>>> RGB). You >>>>>>>>>> can set the application parameter "-harmo.method" to "rgb" to use >>>>>>>>>> this >>>>>>>>>> feature. However, the global radiometric harmonization can also be >>>>>>>>>> performed on each band individually by setting the application >>>>>>>>>> parameter >>>>>>>>>> "-harmo.method" to "band" (it can be useful if the color space is >>>>>>>>>> not truly >>>>>>>>>> RGB like raw Spot6/7, or if you want to perform a kind of >>>>>>>>>> radiometric >>>>>>>>>> equalized mosaic). Various statistical cost functions can be used >>>>>>>>>> (e.g. >>>>>>>>>> rmse) to find a correction model (which is linear with zero-y >>>>>>>>>> intercept: >>>>>>>>>> input images are scaled). We have developed a richer >>>>>>>>>> harmonization solver, >>>>>>>>>> wich can deal with general linear correction models (i.e. scale, >>>>>>>>>> and shift >>>>>>>>>> scale of images) but the maths tools brought by VNL were not >>>>>>>>>> sufficient, >>>>>>>>>> and we had to make use of external libraries to make it work >>>>>>>>>> (OOQP, >>>>>>>>>> QuadProg++). That is why we brought only simple zero-y intercept >>>>>>>>>> (i.e. >>>>>>>>>> scale) correction model in this current module. In future >>>>>>>>>> release, I think >>>>>>>>>> we should propose OOQP based (or QuadProg++ based) solver because >>>>>>>>>> it is far >>>>>>>>>> more robust than VNL routines (Sometimes VNL's routines throw >>>>>>>>>> unexpected >>>>>>>>>> errors, obviously coming from numerical instabilities). Waiting >>>>>>>>>> what will >>>>>>>>>> be the OTB framework for third parties... >>>>>>>>>> - As the harmonization method rely of local image statistics, >>>>>>>>>> those must be exempt from perturbations (e.g. clouds, ice, brutal >>>>>>>>>> landcover >>>>>>>>>> change between two images, ...). That's why it is possible to >>>>>>>>>> input some >>>>>>>>>> vector data to mask valid areas (need one vector data for one >>>>>>>>>> input image, >>>>>>>>>> in the same order as appearing in input). >>>>>>>>>> - It is possible to input some vector data for cutline (need >>>>>>>>>> one vector data for one input image, in the same order as >>>>>>>>>> appearing in >>>>>>>>>> input). >>>>>>>>>> - Another cool feature is the feathering/blending of input >>>>>>>>>> images, which allows to produce seamless mosaics. The current >>>>>>>>>> limitation is >>>>>>>>>> that we use a distance map image for each input, computed by >>>>>>>>>> itk::DanielssonDistanceMapImageFilter wich is not a streamable >>>>>>>>>> filter. >>>>>>>>>> That's why the current process first generates all distance map >>>>>>>>>> images in >>>>>>>>>> temporary .tif files, from resampled input images (the decimation >>>>>>>>>> factor >>>>>>>>>> can be set using the "-alphamasks.spacing"). Then, the filters >>>>>>>>>> use these >>>>>>>>>> previously computed distance map images to perform the >>>>>>>>>> feathering/blending >>>>>>>>>> of the input images. At the moment, 2 feathering methods are >>>>>>>>>> implemented >>>>>>>>>> (slim: blends the last image over earlier ones in areas of >>>>>>>>>> overlap, on a >>>>>>>>>> given transition distance / large: blends all images on largests >>>>>>>>>> possible >>>>>>>>>> overlapping areas) >>>>>>>>>> >>>>>>>>>> We tested the application successfully on big images collections: >>>>>>>>>> RapidEye, France coverage from 2011 (~130 images), Spot6/7, France >>>>>>>>>> coverage >>>>>>>>>> from 2014 (~190 images), both with a reasonable processing time. >>>>>>>>>> Processing >>>>>>>>>> time is o(n) for both mosaic generation and statistics computation >>>>>>>>>> (n=number of input images pixels). Harmonization problem is solved >>>>>>>>>> in o(m) >>>>>>>>>> with m=number of input images (about some milliseconds for a hundred >>>>>>>>>> of >>>>>>>>>> input images). >>>>>>>>>> >>>>>>>>>> The filters: >>>>>>>>>> >>>>>>>>>> - otbStreamingMosaicFilterBase: is the base class of all >>>>>>>>>> mosaicing filters >>>>>>>>>> - otbStreamingSimpleMosaicFilter: inherits >>>>>>>>>> otbStreamingMosaicFilterBase, performs simple mosaics with a >>>>>>>>>> simple >>>>>>>>>> compositing technique which copies the last image over earlier >>>>>>>>>> ones in >>>>>>>>>> areas of overlap >>>>>>>>>> - otbStreamingStatisticsMosaicFilter: inherits >>>>>>>>>> otbStreamingMosaicFilterBase, computes statistics of the input >>>>>>>>>> images in >>>>>>>>>> each overlapping areas (e.g. mean of image i in overlap j, for >>>>>>>>>> all i and j) >>>>>>>>>> - otbStreamingMosaicFilterWithBlendingBase: inherits >>>>>>>>>> otbStreamingMosaicFilterBase, is the base class for all mosaicing >>>>>>>>>> filters >>>>>>>>>> which use a distance map image (feathering filters...) >>>>>>>>>> - otbStreamingFeatherMosaicFilter: inherits >>>>>>>>>> otbStreamingMosaicFilterWithBlendingBase, generates a mosaic with >>>>>>>>>> blends >>>>>>>>>> the last image over earlier ones in areas of overlap, on a given >>>>>>>>>> transition >>>>>>>>>> distance >>>>>>>>>> - otbStreamingLargeFeatherMosaicFilter: inherits >>>>>>>>>> otbStreamingMosaicFilterWithBlendingBase, blends all images on >>>>>>>>>> largests >>>>>>>>>> possible overlapping areas >>>>>>>>>> - otbStreamingMultibandFeatherMosaicFilter: inherits >>>>>>>>>> otbStreamingFeatherMosaicFilter, experimental. Multiband blending >>>>>>>>>> of input >>>>>>>>>> image using the laplacian (see Burt & Adelson "A multiresolution >>>>>>>>>> spline >>>>>>>>>> with application to image mosaics"). Could use GPU support for >>>>>>>>>> gaussian >>>>>>>>>> filtering. One need to fix some issues related to side effects >>>>>>>>>> (around no >>>>>>>>>> data pixels of images). >>>>>>>>>> - otbSummingFilter: utility filter which sums input images. >>>>>>>>>> - otbQuadraticallyConstrainedSimpleSolver: is the solver used >>>>>>>>>> for images color/radiometric harmonization. Works only with zero-y >>>>>>>>>> intercept correction models (as explained before). >>>>>>>>>> >>>>>>>>>> We try to make sense of this multilevel inheritance, but it might >>>>>>>>>> be perfectible ! >>>>>>>>>> A possible optimization might be to process every threadedRegion >>>>>>>>>> by subdividing it in multiple smaller regions, in order to loop only >>>>>>>>>> on >>>>>>>>>> relevant images: an actual drawback is where the threadedRegion is >>>>>>>>>> large, >>>>>>>>>> a lot of input images have to be checked even if they are out of the >>>>>>>>>> region. Another one might be to pre-compute areas where >>>>>>>>>> interpolators can >>>>>>>>>> work, instead of checking every processed pixel if the current point >>>>>>>>>> is >>>>>>>>>> inside the buffer. >>>>>>>>>> On excellent upgrade would be to strengthen the architecture, and >>>>>>>>>> implements those optimizations in a general way (currently, we have >>>>>>>>>> to do >>>>>>>>>> it for each filter... that is why I think this could be better built) >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> -- >>>>>>>>>> Check the OTB FAQ at >>>>>>>>>> http://www.orfeo-toolbox.org/FAQ.html >>>>>>>>>> >>>>>>>>>> You received this message because you are subscribed to the Google >>>>>>>>>> Groups "otb-users" group. >>>>>>>>>> To post to this group, send email to [email protected] >>>>>>>>>> To unsubscribe from this group, send email to >>>>>>>>>> [email protected] >>>>>>>>>> For more options, visit this group at >>>>>>>>>> http://groups.google.com/group/otb-users?hl=en >>>>>>>>>> --- >>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>> Google Groups "otb-users" group. >>>>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>>>> send an email to [email protected]. >>>>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Regards, >>>>>>>>> Rashad >>>>>>>>> >>>>>>>>> -- >>>>>>>>> -- >>>>>>>>> Check the OTB FAQ at >>>>>>>>> http://www.orfeo-toolbox.org/FAQ.html >>>>>>>>> >>>>>>>>> You received this message because you are subscribed to the Google >>>>>>>>> Groups "otb-users" group. >>>>>>>>> To post to this group, send email to [email protected] >>>>>>>>> To unsubscribe from this group, send email to >>>>>>>>> [email protected] >>>>>>>>> For more options, visit this group at >>>>>>>>> http://groups.google.com/group/otb-users?hl=en >>>>>>>>> --- >>>>>>>>> You received this message because you are subscribed to a topic in >>>>>>>>> the Google Groups "otb-users" group. >>>>>>>>> To unsubscribe from this topic, visit >>>>>>>>> https://groups.google.com/d/topic/otb-users/tXsf0YvarIo/unsubscribe >>>>>>>>> . >>>>>>>>> To unsubscribe from this group and all its topics, send an email >>>>>>>>> to [email protected]. >>>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> -- >>>>>>>> Check the OTB FAQ at >>>>>>>> http://www.orfeo-toolbox.org/FAQ.html >>>>>>>> >>>>>>>> You received this message because you are subscribed to the Google >>>>>>>> Groups "otb-users" group. >>>>>>>> To post to this group, send email to [email protected] >>>>>>>> To unsubscribe from this group, send email to >>>>>>>> [email protected] >>>>>>>> For more options, visit this group at >>>>>>>> http://groups.google.com/group/otb-users?hl=en >>>>>>>> --- >>>>>>>> You received this message because you are subscribed to the Google >>>>>>>> Groups "otb-users" group. >>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>> send an email to [email protected]. >>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Regards, >>>>>>> Rashad >>>>>>> >>>>>>> -- >>>>>>> -- >>>>>>> Check the OTB FAQ at >>>>>>> http://www.orfeo-toolbox.org/FAQ.html >>>>>>> >>>>>>> You received this message because you are subscribed to the Google >>>>>>> Groups "otb-users" group. >>>>>>> To post to this group, send email to [email protected] >>>>>>> To unsubscribe from this group, send email to >>>>>>> [email protected] >>>>>>> For more options, visit this group at >>>>>>> http://groups.google.com/group/otb-users?hl=en >>>>>>> --- >>>>>>> You received this message because you are subscribed to a topic in >>>>>>> the Google Groups "otb-users" group. >>>>>>> To unsubscribe from this topic, visit >>>>>>> https://groups.google.com/d/topic/otb-users/tXsf0YvarIo/unsubscribe. >>>>>>> To unsubscribe from this group and all its topics, send an email to >>>>>>> [email protected]. >>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>> >>>>>> >>>>>> -- >>>>>> -- >>>>>> Check the OTB FAQ at >>>>>> http://www.orfeo-toolbox.org/FAQ.html >>>>>> >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "otb-users" group. >>>>>> To post to this group, send email to [email protected] >>>>>> To unsubscribe from this group, send email to >>>>>> [email protected] >>>>>> For more options, visit this group at >>>>>> http://groups.google.com/group/otb-users?hl=en >>>>>> --- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "otb-users" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to [email protected]. >>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Regards, >>>>> Rashad >>>>> >>>>> -- >>>>> -- >>>>> Check the OTB FAQ at >>>>> http://www.orfeo-toolbox.org/FAQ.html >>>>> >>>>> You received this message because you are subscribed to the Google >>>>> Groups "otb-users" group. >>>>> To post to this group, send email to [email protected] >>>>> To unsubscribe from this group, send email to >>>>> [email protected] >>>>> For more options, visit this group at >>>>> http://groups.google.com/group/otb-users?hl=en >>>>> --- >>>>> You received this message because you are subscribed to a topic in the >>>>> Google Groups "otb-users" group. >>>>> To unsubscribe from this topic, visit >>>>> https://groups.google.com/d/topic/otb-users/tXsf0YvarIo/unsubscribe. >>>>> To unsubscribe from this group and all its topics, send an email to >>>>> [email protected]. >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> >>>> -- >>>> -- >>>> Check the OTB FAQ at >>>> http://www.orfeo-toolbox.org/FAQ.html >>>> >>>> You received this message because you are subscribed to the Google >>>> Groups "otb-users" group. >>>> To post to this group, send email to [email protected] >>>> To unsubscribe from this group, send email to >>>> [email protected] >>>> For more options, visit this group at >>>> http://groups.google.com/group/otb-users?hl=en >>>> --- >>>> You received this message because you are subscribed to the Google >>>> Groups "otb-users" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> >>> >>> -- >>> Regards, >>> Rashad >>> >>> -- >>> -- >>> Check the OTB FAQ at >>> http://www.orfeo-toolbox.org/FAQ.html >>> >>> You received this message because you are subscribed to the Google >>> Groups "otb-users" group. >>> To post to this group, send email to [email protected] >>> To unsubscribe from this group, send email to >>> [email protected] >>> For more options, visit this group at >>> http://groups.google.com/group/otb-users?hl=en >>> --- >>> You received this message because you are subscribed to a topic in the >>> Google Groups "otb-users" group. >>> To unsubscribe from this topic, visit >>> https://groups.google.com/d/topic/otb-users/tXsf0YvarIo/unsubscribe. >>> To unsubscribe from this group and all its topics, send an email to >>> [email protected]. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- >> -- >> Check the OTB FAQ at >> http://www.orfeo-toolbox.org/FAQ.html >> >> You received this message because you are subscribed to the Google >> Groups "otb-users" group. >> To post to this group, send email to [email protected] >> To unsubscribe from this group, send email to >> [email protected] >> For more options, visit this group at >> http://groups.google.com/group/otb-users?hl=en >> --- >> You received this message because you are subscribed to the Google Groups >> "otb-users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> For more options, visit https://groups.google.com/d/optout. >> > > > > -- > Regards, > Rashad > > -- > -- > Check the OTB FAQ at > http://www.orfeo-toolbox.org/FAQ.html > > You received this message because you are subscribed to the Google > Groups "otb-users" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/otb-users?hl=en > --- > You received this message because you are subscribed to a topic in the > Google Groups "otb-users" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/otb-users/tXsf0YvarIo/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- -- Check the OTB FAQ at http://www.orfeo-toolbox.org/FAQ.html You received this message because you are subscribed to the Google Groups "otb-users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/otb-users?hl=en --- You received this message because you are subscribed to the Google Groups "otb-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
