Stefan,

thank you for you time. About your doubts:

> - you change finally the image loaded. This means that the data/image
> delivered to sextante will contain the scaled values.
>    
When you need to pass over the data/image to sextante, you could always 
retrieve the actual raster data. The rescaling of the data is done for 
display purposes only. Sure, you couldn't instantiate an 
OpenJUMPSextanteRasterLayer from a RasterImageLayer (like you do in your 
class CreatePolygonGridFromSelectedImageLayerPlugIn.java), you'd need to 
use a different constructor and a couple of other methods to set image 
properties and data. But still it would be feasible. Or am I missing the 
point here?
> - you assume that the data loaded have only one band, so you need only
> one array.
>    
You're right. But we could replace the single array with a series of 
arrays, each of them storing the cell values of a single band. It should 
be feasible. I'd give it a try to see if it can be done. What do you reckon?

> Mhm.. not sure what to do, maybe we modify the RasterImage method such
> way that images/data with one band will always be GridFloat files?
> But then we still would need to ensure that Sextante will get the
> correct values? Or we change the Sextante interface-classes. I actually
> talked to Victor a few weeks earlier, and it may be the better option to
> have the interface classes maintained by us? [which means more work... ;)]
>    
Don't know, I'd prefer to spend some more time on the topic and try to 
find a more general solution keeping the sextante classes untouched...

Thanks again
Alberto

>
> Alberto De Luca schrieb:
>    
>> Stefan,
>>
>> thank you for your (not so late) answer, you told me you'd be away, so
>> no problem at all!
>>
>> I had a look at Erwan's plug in: very interesting work! Briefly, if I
>> got it right: he wrote a RasterLayer class that extends the jump Layer
>> class. He then uses some geotools classes to read the ASCII grid file,
>> and the GT GridCoverage2D class to store the raster values and
>> properties. This is a useful class, because it stores the rescaled
>> raster values as a PlanarImage (that can be passed to OJ for display),
>> but also the actual cell values (that can be retrieved anytime using the
>> appropriate method).
>>
>> On the other side, it seems to me that the OJ RasterImageLayer class
>> stores only the image information. But I think it shouldn't be difficult
>> to add a field (and a getter) to handle the raster cell data. I gave it
>> a try (only for FLT raster file handling, which I know best):
>> - I created a double[][] to store the raster values;
>> - I created a getter to get the whole array (this clearly could be
>> improved by adding direct access to single cell values);
>>
>> When an FLT is loaded:
>> - the array is filled right after the raster is read;
>> - the values are rescaled and passed over for visualization (as a b/w
>> stretched image);
>>
>> When the actual values are needed, they can be accessed via the getter.
>> This could be useful also when the image is redrawn, because it would
>> avoid the need to reload the raster form scratch.
>>
>> What do you think? Does this make any sense?
>>
>> You can find attached to this e-mail:
>> - inside the OJClasess archive the AddRasterImageLayerWizard, the
>> RasterImageLayer and the SelectRasterImageFilesPanel class that I
>> modified, plus the GridFloat class that actually reads the flt file.
>> - inside the Flt_plugin archive: a small plug in that creates a button
>> tool to inspect raster cell values (jar + src). You can try it out by
>> loading an flt raster (I included one in the archive) as a "Sextante
>> Raster Image", it should display in b/w. You can then use the tool to
>> inspect its cell values. I didn't do much testing though...
>>
>> Alberto
>>
>>
>> On 07/07/2010 05:41, Stefan Steiniger wrote:
>>      
>>> Hei Alberto,
>>>
>>> late answer but something just came to my mind.
>>> There was an ESRI Grid plugin by Erwan Bocher for OpenJUMP that allowed
>>> to display different colors for a DEM. That should be something we want
>>> - right?
>>>
>>> I think the code is here:
>>> http://geosysin.iict.ch/irstv-trac/browser/openjump/plugin/gridCoverage/org/reso/openJump/raster?rev=96
>>>
>>>
>>> can you look into it?
>>>
>>> Not sure what would be needed to make it work with OpenJUMP and the
>>> Sextante Raster. But we can do changes to the core here...
>>>
>>> stefan
>>>
>>> PS: I was last week away - so thats why I didn't respond earlier; need
>>> to catch up with emails now.
>>>
>>> Alberto De Luca schrieb:
>>>
>>>        
>>>> Larry and Steven,
>>>>
>>>> sorry for bothering you, I know you're both busy... I had a deeper look
>>>> at the RasterImageLayer class. Apparently there is a scaling function
>>>> there (as Stefan pointed out), but for what I can understand, the image
>>>> is read, then rescaled, then added to a Layerable. This means that the
>>>> Layerable stores the already scaled cell values and, if the actual cell
>>>> values are needed, the image needs to be reloaded.
>>>>
>>>> I don't see how this model can be tweaked to have on one side the cell
>>>> values stored in memory and on the other a Layerable that can be
>>>> rendered properly. What do you reckon? Please tell me I'm wrong.
>>>>
>>>> Thanks
>>>> Alberto
>>>>
>>>> On 29/06/2010 16:32, Larry Becker wrote:
>>>>
>>>>          
>>>>> Hi Alberto,
>>>>>
>>>>>     I did take a look at the render architecture to see how it might be
>>>>> done, but unfortunately I don't have a lot of time right now to help
>>>>> with this effort so any advice I have is only a guess, but I think it
>>>>> might have to happen in the image layer's paint method.
>>>>>
>>>>> Larry
>>>>>
>>>>> On Tue, Jun 29, 2010 at 2:01 AM, Alberto De Luca
>>>>> <i...@geomaticaeambiente.it<mailto:i...@geomaticaeambiente.it>>   wrote:
>>>>>
>>>>>       Stefan and Larry,
>>>>>
>>>>>       thank you for your help. Unfortunately I'm not an expert either,
>>>>>       so I'm
>>>>>       really not sure about what to do. I kind of like Larry's approach
>>>>>       (but I
>>>>>       need to think about it to see if I can work something out of
>>>>> it). I'll
>>>>>       have a deeper look at the pirol classes too...
>>>>>
>>>>>       Alberto
>>>>>
>>>>>       On 28/06/2010 21:49, Stefan Steiniger wrote:
>>>>>       >   actually.. wasn't there a scaling function somewehere in the
>>>>>       pirol classes?
>>>>>       >   so the place to correct is in those?
>>>>>       >
>>>>>       >   Alberto De Luca schrieb:
>>>>>       >
>>>>>       >>   Dear OJ developers,
>>>>>       >>
>>>>>       >>   I was working on the Sextante classes, trying to enhance
>>>>> raster
>>>>>       support
>>>>>       >>   and visualization capabilities. Having a powerful raster
>>>>>       management is
>>>>>       >>   important so we can port to OJ all the raster plugins we
>>>>>       developed for
>>>>>       >>   the OJ-derived AdB-ToolBox (we exchanged some emails on the
>>>>> topic a
>>>>>       >>   while ago).
>>>>>       >>
>>>>>       >>   So, as a first attempt, I tried to add ESRI FLT raster
>>>>> support,
>>>>>       adding
>>>>>       >>   some lines of code to the RasterImageLayer class. I am here
>>>>>       facing a
>>>>>       >>   dilemma though.
>>>>>       >>
>>>>>       >>   The loadImage method returns a planarimage, which is then
>>>>>       displayed on
>>>>>       >>   the screen.
>>>>>       >>   If I read the FLT file into a TiledImage whose SampleModel is
>>>>>       >>   DataBuffer.TYPE_FLOAT (to match the data model of the FLT
>>>>> file) and
>>>>>       >>   return it to be displayed, OJ loads it ok, but the raster
>>>>>       displayed is
>>>>>       >>   completely blank. I know it's there because I can export its
>>>>>       envelope
>>>>>       >>   and I can read cell values (using the
>>>>> OpenJUMPSextanteRasterLayer
>>>>>       >>   class), values that exactly match the values stored in the FLT
>>>>>       file.
>>>>>       >>   If after creating the TiledImage I rescale it into a 0-255
>>>>> range
>>>>>       >>   PlanarImage, I can display it ok (as a grayscale for example)
>>>>>       but then
>>>>>       >>   when I read the cell values from the raster layer, they're
>>>>> clearly
>>>>>       >>   different from the original FLT values.
>>>>>       >>
>>>>>       >>   My question is: is there a way to have a correct visualization
>>>>>       while
>>>>>       >>   maintaining access to the actual cell values? In
>>>>>       >>   www.lac.inpe.br/JIPCookbook/2200-display-surrogate.jsp
>>>>>       <http://www.lac.inpe.br/JIPCookbook/2200-display-surrogate.jsp>
>>>>>       >>
>>>>> <http://www.lac.inpe.br/JIPCookbook/2200-display-surrogate.jsp>
>>>>>        they
>>>>>       >>   suggest the use of the javax.media.jai.iterator.RandomIter
>>>>> class to
>>>>>       >>   access cell values after the image has been rescaled. Would
>>>>> this be
>>>>>       >>   appropriate in OJ?
>>>>>       >>
>>>>>       >>   In the attached GridFloat.java you can find the code used to
>>>>>       read the
>>>>>       >>   FLT grid (see the readGrid and the getPlanarImage methods).
>>>>> Also
>>>>>       >>   attached you can find my modified RasterImageLayer class
>>>>> (see in
>>>>>       >>   particular the loadImage method).
>>>>>       >>
>>>>>       >>   Please consider I'm not a good programmer, so I might just
>>>>> be on a
>>>>>       >>   completely wrong track...
>>>>>       >>   Thanks
>>>>>       >>   Alberto
>>>>>       >>
>>>>>       >>
>>>>>       >>
>>>>>       >>
>>>>>       >>
>>>>>
>>>>> ------------------------------------------------------------------------
>>>>>
>>>>>       >>
>>>>>       >>
>>>>>
>>>>> ------------------------------------------------------------------------------
>>>>>
>>>>>       >>   This SF.net email is sponsored by Sprint
>>>>>       >>   What will you do first with EVO, the first 4G phone?
>>>>>       >>   Visit sprint.com/first<http://sprint.com/first>   --
>>>>>       http://p.sf.net/sfu/sprint-com-first
>>>>>       >>
>>>>>       >>
>>>>>       >>
>>>>>
>>>>> ------------------------------------------------------------------------
>>>>>
>>>>>       >>
>>>>>       >>   _______________________________________________
>>>>>       >>   Jump-pilot-devel mailing list
>>>>>       >>   Jump-pilot-devel@lists.sourceforge.net
>>>>>       <mailto:Jump-pilot-devel@lists.sourceforge.net>
>>>>>       >>   https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>>>>       >>
>>>>>       >
>>>>>
>>>>> ------------------------------------------------------------------------------
>>>>>
>>>>>       >   This SF.net email is sponsored by Sprint
>>>>>       >   What will you do first with EVO, the first 4G phone?
>>>>>       >   Visit sprint.com/first<http://sprint.com/first>   --
>>>>>       http://p.sf.net/sfu/sprint-com-first
>>>>>       >   _______________________________________________
>>>>>       >   Jump-pilot-devel mailing list
>>>>>       >   Jump-pilot-devel@lists.sourceforge.net
>>>>>       <mailto:Jump-pilot-devel@lists.sourceforge.net>
>>>>>       >   https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>>>>       >
>>>>>       >
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------------
>>>>>
>>>>>       This SF.net email is sponsored by Sprint
>>>>>       What will you do first with EVO, the first 4G phone?
>>>>>       Visit sprint.com/first<http://sprint.com/first>   --
>>>>>       http://p.sf.net/sfu/sprint-com-first
>>>>>       _______________________________________________
>>>>>       Jump-pilot-devel mailing list
>>>>>       Jump-pilot-devel@lists.sourceforge.net
>>>>>       <mailto:Jump-pilot-devel@lists.sourceforge.net>
>>>>>       https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>>>>
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------------
>>>>>
>>>>> This SF.net email is sponsored by Sprint
>>>>> What will you do first with EVO, the first 4G phone?
>>>>> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Jump-pilot-devel mailing list
>>>>> Jump-pilot-devel@lists.sourceforge.net
>>>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>>>>
>>>>>
>>>>>            
>>>> ------------------------------------------------------------------------
>>>>
>>>> ------------------------------------------------------------------------------
>>>>
>>>> This SF.net email is sponsored by Sprint
>>>> What will you do first with EVO, the first 4G phone?
>>>> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
>>>>
>>>>
>>>> ------------------------------------------------------------------------
>>>>
>>>> _______________________________________________
>>>> Jump-pilot-devel mailing list
>>>> Jump-pilot-devel@lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>>>
>>>>          
>>> ------------------------------------------------------------------------------
>>>
>>> This SF.net email is sponsored by Sprint
>>> What will you do first with EVO, the first 4G phone?
>>> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
>>> _______________________________________________
>>> Jump-pilot-devel mailing list
>>> Jump-pilot-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>>
>>>
>>>        
>> ------------------------------------------------------------------------
>>
>> ------------------------------------------------------------------------------
>> This SF.net email is sponsored by Sprint
>> What will you do first with EVO, the first 4G phone?
>> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Jump-pilot-devel mailing list
>> Jump-pilot-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>      
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by Sprint
> What will you do first with EVO, the first 4G phone?
> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
> _______________________________________________
> Jump-pilot-devel mailing list
> Jump-pilot-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>
>    

------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to