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?

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.

Reply via email to