Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add polarmetric processing #32

Open
jkingslake opened this issue Oct 2, 2023 · 3 comments
Open

add polarmetric processing #32

jkingslake opened this issue Oct 2, 2023 · 3 comments

Comments

@jkingslake
Copy link
Member

prompted by @Elizabethcase's work on polarmetric data from Thwiates, and a comment by @benhills (copied below), this issue is adding polarmetric processing. Some coonsiderations

  • as @benhills mentions, there are at least two methods for this, we could include both,
  • current code that I know about for doing this is all in matlab, but presumably could be converted to python and incorporated here
  • does impdar already have polarmetric processing scripts in python?

Comments from Ben Hills:

I am also wondering about the processing flow for polarimetry data. I was looking and couldn't find much but please point me toward it if it is already here or you are working on adding it.

Ultimately, I think it would be useful to have 2 separate options for processing polarimetry data. First, is very similar to the interferometry processing, would use the same coherence function like line 562 in ApRESDefs.py (Young et al., 2021; Ershadi et al., 2022). The second would be a co-registration method like Zeising et al. (2023).

I would love to contribute some code that I already have for this stuff if it is useful.
@benhills
Copy link

benhills commented Oct 2, 2023

There is an ImpDAR branch with polarimetric processing scripts in Python. It is a bit of a mess, but you should feel welcome to steal anything you want from there, or I am happy to help move it over.

A while ago I changed the impdar ApRES structure to have three separate data objects: 1) single acquisition, 2) time difference (interferometry), 3) quadpol (polarimetry). This is the script with the polarimetry processing functions.
https://github.com/benhills/ImpDAR/blob/quadpol/impdar/lib/ApresData/_QuadPolProcessing.py

The co-registration method I have written out myself as well, but it is just in a scratch space Jupyter Notebook.

@jkingslake
Copy link
Member Author

This is great @benhills , thank you!

One thing that we could do pretty quickly is to incorporate a version of your polarmetric processing scripts (I think they are here, right?) into XApRES as 'bound methods' that we add to xarray.datasets, as we load polarmetric data. Much in the same way that we as db and sonify currently. This is actually going to change very slightly once #35 is merged, so I can update here once that is done with links to the places in the code.

What do you think?

@benhills
Copy link

benhills commented Nov 2, 2023

That is the correct script, yes.

I think incorporating as bound methods is great. It would take me some time to figure out how to make them compatible with the broader framework, so if you have ideas on how to do that quickly feel free to steal whatever is useful and manipulate however you see fit. If you would like me to take some time looking at it and thinking about how best to incorporate please just let me know and I am happy to.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants