-
Notifications
You must be signed in to change notification settings - Fork 16
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
Complex numbers in openEO #455
Comments
@soxofaan the possibilities will include handling datacubes with complex data and also creation of new datacubes based on real + imag bands (imagine a reduce_dimension over bands where we do real + i*imag). |
@m-mohr @soxofaan
|
I'm not sure this is the necessary first step. It implies that complex numbers are a thing already, and as far as I known a JSONSchema An alternative solution is introducing a new type of dimension, e.g. "complex", which acts like a "band" dimension, but has just 2 pre-defined "bands"/labels: "real" and "imag". This approach does not require to rewrite a lot of (math related) processes, and you can just do complex number arithmetic with the existing openEO API and processes. I'm not that familiar with usage of complex numbers in EO, but how do they solve that in other systems, e.g. netCDF-style data storage, ...? |
I like the thoughts of @soxofaan. We may even want to create a new dimension type for this instead of using "other" so that data cubes with complex numbers can be "enforced" in schemas, similar to the recent addition of the geometry/vector dimension type. |
True, and it's how I used openEO so far. Handling real and imaginary parts as different bands, This is the feedback I was looking for. I will try to proceed as far as I can with this approach.
In this case we could have complex specific processes checking if the "complex" dimension exists?
netCDF does not support CFloat data (sse this reply https://stackoverflow.com/a/47171089), geoTIFF does. |
Yes, and it would also imply that the data type in storage is Complex in case the dimension exists. |
Ok, so |
At Eurac we are working on the improvements of the SAR2Cube project, where we are using openEO to process Sentinel-1 SLC complex data. @aljacob
I create this issue to collect ideas and feedbacks about introducing the possibility to handle complex numbers in openEO.
In my opinion, the first step should be introducing a new process in Math->Constants for the imaginary unit
j
(ori
, depending on how we want to name it).If the complex numbers will be compatible with the already existing implementation depends on the back-ends, but for the Python based ones it will be doable. For sure, a process like
absolute
should be firstly updated with a mention to the support of complex numbers if we proceed.The text was updated successfully, but these errors were encountered: