Tadaa.. all tests passed.!
Thanks On Wed, Aug 19, 2015 at 2:17 PM, remicres <[email protected]> wrote: > Oops, how could I miss that. > Thank you Rashad. > > PS: I added a wiki page using your remote module description template, and > linked it on the remote modules list > <http://wiki.orfeo-toolbox.org/index.php/Remote_Modules_List>. > > Le mercredi 19 août 2015 12:51:46 UTC+2, Rashad M a écrit : >> >> >> Hello, >> >> On Wed, Aug 19, 2015 at 11:18 AM, remicres <[email protected]> wrote: >> >> Including #include "itkObjectyFactory.h" in otbMosaic.cxx did not solve >> the issue, but I think it must be added in another place (actualy it may be >> not the application, but another component, otbQuadraticallySimpleSolver, >> with inherits from itk::lightObject). I've commited the changes. Let's see >> how the next mingw compilation terminate! >> >> >> Ok. we will see tomorrow. >> >> >> Apart from that, all my tests are failing. It seems like nothing is >> written in the temporary file, but directly in the baseline instead. I've >> double checked my testing cmake file, but I still don't get it. >> >> >> https://github.com/remicres/otb-mosaic/blob/master/test/CMakeLists.txt#L6 >> here >> >> -out ${BASELINE}/apTvMosaicTestLargeFeathering.tif uint8 >> >> -out ${TEMP}/apTvMosaicTestLargeFeathering.tif uint8 >> >> would do the fix there and other places too. >> >> For reference see this >> https://git.orfeo-toolbox.org/otb.git/blob/HEAD:/Modules/Applications/AppOpticalCalibration/test/CMakeLists.txt >> >> >> Le mardi 18 août 2015 10:47:00 UTC+2, Rashad M a écrit : >> >> Hello Rémi, >> >> On Mon, Aug 17, 2015 at 12:28 PM, Rémi Cresson <[email protected]> wrote: >> >> Hello Rashad, >> >> I have committed the changes about tests (Here >> <http://expirebox.com/download/e7d569ed52b38534ee246c9ecd958730.html> is >> an archive containing specific input files and baseline). >> >> >> I had added your data to otb-data.git with this commit - >> https://git.orfeo-toolbox.org/otb-data.git >> >> >> https://git.orfeo-toolbox.org/otb-data.git/commit/ed441021e2e6fedd74180266eca80488095b510d >> >> >> >> >> >> What I did is some general uses case tests only, I'm afraid that testing >> all application cases would lead to a large number of tests and basename >> files! >> >> >> Now I am trying to fix compilation outputs given by the otb dashboard >> (Still trying to fix windows mingw errors now). >> >> >> >> including #include "itkObjectyFactory.h" in otbMosaic.cxx would do the >> trick. see a related discussion >> >> >> https://groups.google.com/forum/#!searchin/otb-developers/inheritence$20of$20itk/otb-developers/xtexHxH7ey8/F_vvXX4K89wJ >> >> >> >> It could be nice to define how input data and baseline could be managed >> (I guess remote modules developpers have to take care of it: specific test >> data folder in the module repository?) >> >> >> Yes, this should be discussed in otb-developers in a seperate thread. >> >> >> >> 2015-08-13 19:01 GMT+02:00 Rashad M <[email protected]>: >> >> What I mean is instead of mosaic1Test1_result.tif >> >> For example, >> it can be apTvMosaicTestWithSpacing.tif , >> apTvMosaicTestWithoutSpacing.tif etc.. so it would be easier to search >> when looking for files in OTB-Data repo. >> >> apTv - For application >> Mosaic - Name of application >> WithSpacing/ WithoutSpacing - a prefix i choose to precisely identify >> which file the test is used in case I have multiple test for the same >> application >> >> This prefix can vary depending on your various input options or can be >> simple 1, 2. etc.. apTvMosaicTest1.tif >> >> AFAIK, I think the main idea is to trace back to test name from filename. >> >> >> If you could host the input andbaseline somewhere to download. Then I can >> add them to otb-data and you can use it in cmakelists. >> >> Right now, hosting of baseline and input data for a new remote module is >> not well defined in the guidelines >> >> >> >> >> On Thu, Aug 13, 2015 at 5:43 PM, Rémi Cresson <[email protected]> wrote: >> >> 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. >> >> >> >> >> -- >> 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 >> >> ... > > -- > -- > 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 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.
