Combination View Flat View Tree View
Threads [ Previous | Next ]
RE: using AMORGOS corr_latitude and corr_longitude for gpt pixel extraction
toggle
Dear forum,

How can tell the pixel extraction operator to use the AMORGOS corrected bands for pixel-based geocoding instead of using the tie-point-grid.
If the input image is an ENVISAT N1 file format, I know how I can activate automatically the attachment of pixel geocoding by changing the BEAM.config file.
I have NetCDF-BEAM format images of AMORGOS-based products which I would like to extract pixel information by using a gpt graph. If I run the pixEx operator it will retrieve the pixel information based on the tie-point-grid. I want to have it based on pixel geocoding i.e. corr_latitude and corr_longitude bands. How can I achieve this in BEAM? How can I instruct, command-based, BEAM to first attach the pixel geocoding of AMORGOS and then extract the pixel information? Is it possible?
I need to batch process the pixel extraction of a bunch of MERIS FSG -based images, and so far I can only achieve this manually within VISAT-BEAM.

Thanks in advance for your any suggestions.
Flag Flag
Hi Jose,

you could write your own AttachPixelGeocodingOp (veeery simple) using the BEAM Graph Processing Framework. Have a look at the tutorials on this web site to get a start. Once you have this operator, you can use it in a processing graph like any other operator. Good luck!
Flag Flag
Dear Ralph,

I have tried the tutorials, but I have no experience with Java. So far my code looks like:
 1
 2import org.esa.beam.framework.datamodel.Product;
 3import org.esa.beam.framework.gpf.Operator;
 4import org.esa.beam.framework.gpf.OperatorSpi;
 5import org.esa.beam.framework.gpf.OperatorException;
 6
 7
 8public class AttachPixelGeocodingOp extends Operator{
 9
10    @Override
11    public void initialize() throws OperatorException {
12        String source;
13        Product sourceProduct = getSourceProduct(source);
14       
15        // TODO Auto-generated method stub
16       
17    }
18    public AttachPixelGeocodingOp() {
19        // TODO Auto-generated constructor stub
20    }
21   
22    public static class Spi extends OperatorSpi {
23        public Spi() {
24            super(AttachPixelGeocodingOp.class);
25        }
26    }
27
28}


but I am lost... I cannot manage to make it work. I am super confused with the code and with how to publish the operator to the GPF. Any help will be much appreciated.
Flag Flag
Dear Ralph,

Would it be easier just to add the following line to the gpt.sh
1
2-Dbeam.envisat.amorgos.usePixelGeoCoding=true


or something similar, thus the gpt call can be initialized by default with the pixelGeocoding enabled. I got the command line call from a old post here at the forum, I tried on BEAM4.10 but after using it the gpt with pixEx I got the same latitude and longitude as with tie point grids. =(
any more ideas?
Flag Flag
RE: using AMORGOS corr_latitude and corr_longitude for gpt pixel extraction
5/29/12 11:57 AM as a reply to Jose M. Beltran.
Hi Jose,

1-Dbeam.envisat.amorgos.usePixelGeoCoding=true


works for Envisat products, but not for products read by the netCDF reader. Have you had a look into our BEAM 4 programming tutorial?
Flag Flag
Yes I did. But I could not manage to create my own operator to accomplish my task just by following the tutorial. My Java programming skills are none. I could follow the tutorial, but it was not clear enough for me just to jump from it and use it to create my own operators. I posted what I did so far with no success.

emoticon
Flag Flag
RE: using AMORGOS corr_latitude and corr_longitude for gpt pixel extraction
6/18/12 12:11 PM as a reply to Jose M. Beltran.
Hi Jose,

I guess you are still struggling to publish the operator you've written to GPF?
What you need to do is
a) create a private SPI class in your operator class (as you did!)
b) create the file org.esa.beam.framework.gpf.OperatorSpi in the folder META-INF.services in your module's resources (create the folder if it does not exist yet)
c) put the reference to the private SPI class into that file, such that it looks similar to this org.esa.beam.jose.AttachPixelGeocodingOp$Spi

Then you should be able to use your operator from GPF.
Let me know if you should encounter further issues.

Best regards,
Thomas
Flag Flag
Dear Thomas,

I have tried again following your instructions. But I have some error messages while trying to compile the Jar file. Because actually this is not a problem in the BEAM software, it is more my misunderstanding of Java to accomplish the task that I want to perform, I have not solved my task, but I have move forward and trying to communicate using python, which I feel more confident on creating my scripts. Thus I am trying to figure it out how to enable the attach pixel geo-codings before pixel extractions for .nc file format. I still would like to do it by using the gpt but I have not succeed so far.
If some one in the forum have figure it out how to do it and share their code here, I would be most grateful.
Cheers,

Jose
Flag Flag
Dear Jose,

I have now found a similar problem and came to this forum. Have you been able to solve the lat/long corrections on MERIS products?

http://forum.step.esa.int/t/help-with-coordinate-input/10029
Flag Flag

 

Welcome to the BEAM Forum!

We encourage you to sign in our forum and participate in the BEAM community. The forum is maintained by the BEAM project team who will most likely answer your questions within 24 hours (except during common holidays) - if not done by other community members. Collaborate, share your knowledge and learn from other users!

If you don't find what you are looking for, please also consider the following external forums: