I went ahead and implemented it generally for any set of jai-ext stats by
just re-using most of the base implementation for JAI operations. Here's
the diff: https://github.com/ngageoint/geotools/compare/jai-ext-process. It
was actually fairly straightforward except for a few issues worth
discussion:
1) jai-ext depends on guava 17.0 which conflicts with geotools' dependency
on guava r09. The stats makes heavy use of AtomicDouble which was
introduced in guava 11.0 and does not exist in r09. For now, I simply
overrode the version in the dependencyManagement block of the gt-coverage
pom.
2) My test cases currently aren't passing because there seems to be an
inconsistency when using a ROI in jai-ext stats. I posted a message to the
jai-ext-developers group detailing this issue and hope to come to some
resolution soon (
https://groups.google.com/forum/#!topic/jai-ext-developers/4LG_AogodPA).
3) I added a line to register the vendor defined by jai-ext's registry.jai
as an authority in geotools. The vendor is
"it.geosolutions.jaiext.roiaware" although it has changed to
"it.geosolutions.jaiext" in the current snapshot. I just used the JAI
citation for now because there did not exist one for geosolutions. Should
I add a citation for geosolutions and use that instead?
4) As an FYI, jai-ext has not reached a 1.0 release so the dependency I had
added was for the most recent milestone release. Assuming the other issues
are ironed out, should I hold off on any pull requests until an official
1.0 release of jai-ext or will a milestone release be sufficient?
Any guidance is appreciated,
Rich
On Fri, Aug 22, 2014 at 3:00 PM, Rich Fecher <[email protected]> wrote:
> That's great, it sounds this is somewhere on the road map.
>
> I'll have to check next week but I think I can help with the Histogram
> operation because we will leverage it on our project. I would think it
> shouldn't be much effort to implement it generically enough that the
> extension to other JAI-Ext operations would be straightforward, but to
> fully implement all of the JAI-Ext operations is out scope for my project.
> That may be the extent of where I can help, but of course I can provide
> moral support. I'll try to dig a little deeper into the code next week, but
> please keep me updated on Geosolutions' interest and plans regarding this.
>
> Rich
>
>
> On Fri, Aug 22, 2014 at 1:54 PM, Simone Giannecchini <
> [email protected]> wrote:
>
>> Ciao Rich,
>> JAI-Ext project has been created because:
>>
>> -1- JAI is actually abandoned
>> -2- JAI Native source code is not available (things are more
>> complicated but that is ok)
>> -2- JAI has no support for no data
>>
>> The plan as Andrea pointed out is to smoothly replace all the JAI
>> operations in GeoTools/GeoServer with JAI-Ext version with support for
>> no data.
>> In the longer term we might want to replace JAI entirely but that's a
>> longer term goal.
>>
>> Next week I will talk to the other interested people here at
>> GeoSolutions and I'll try to share our plan for the switch. If you are
>> able to provide any type of help (coding, testing, moral support :) )
>> that would be great.
>>
>> Regards,
>> Simone Giannecchini
>> ==
>> GeoServer Professional Services from the experts! Visit
>> http://goo.gl/NWWaa2 for more information.
>> ==
>>
>> Ing. Simone Giannecchini
>> @simogeo
>> Founder/Director
>>
>> GeoSolutions S.A.S.
>> Via Poggio alle Viti 1187
>> 55054 Massarosa (LU)
>> Italy
>> phone: +39 0584 962313
>> fax: +39 0584 1660272
>> mob: +39 333 8128928
>>
>> http://www.geo-solutions.it
>> http://twitter.com/geosolutions_it
>>
>> -------------------------------------------------------
>>
>>
>> On Wed, Aug 20, 2014 at 7:54 PM, Rich Fecher <[email protected]> wrote:
>> > I am currently working on extending
>> https://github.com/ngageoint/geowave to
>> > support GridCoverage (as a new geotools grid format) and was wondering
>> if
>> > any thought has been given to provide GeoTools coverage operations for
>> > https://github.com/geosolutions-it/jai-ext/ and if it were a worthwhile
>> > contribution to consider? In particular I am implementing an option to
>> > perform histogram equalization, and JAI's lack of support for "no data"
>> > values has lead me toward the jai-ext project. I plan to just wrap
>> > jai-ext's Histogram operation as a geotools coverage operation to make
>> it
>> > spatially aware. Does this seem like a reasonable approach, and has
>> there
>> > been any consideration towards applying this concept generally across
>> other
>> > jai-ext operations?
>> >
>> > Thanks,
>> > Rich
>> >
>> >
>> ------------------------------------------------------------------------------
>> > Slashdot TV.
>> > Video for Nerds. Stuff that matters.
>> > http://tv.slashdot.org/
>> > _______________________________________________
>> > GeoTools-Devel mailing list
>> > [email protected]
>> > https://lists.sourceforge.net/lists/listinfo/geotools-devel
>> >
>>
>
>
------------------------------------------------------------------------------
Slashdot TV.
Video for Nerds. Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
GeoTools-Devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel