Poor performance: numpy -> GridND -> numpy
Konvertierung von numpy zu GridND und zurück dauert ewig.
Grund: Daten werden kopiert und gecastet (float in python ist eigentlich 64bit double)
Schön wäre direkt auf dem Java-Speicher zu arbeiten oder zumindest die Daten nur zu Kopieren. Das sind unsere Alternativen:
- Jpype bietet die möglich kein numpy-Typen (numpy.float32) effizient in java.nio.ByteBuffer zu konvertieren (https://github.com/originell/jpype/blob/master/jpype/nio.py). Diese können dann von Java mit ByteArray.putFloat/getFloat kopiert und reinterpretiert werden.
- Man kann irgendwie mit Java die Speicheradresse eines Objekts rausfinden und mit der Unsafe-Klasse neu interpretieren https://stackoverflow.com/questions/7060215/how-can-i-get-the-memory-location-of-a-object-in-java http://www.docjar.com/docs/api/sun/misc/Unsafe.html
- Wir könnten auch eine Python-Wrapper-Klasse schreiben, die den Python-Slice Operator implementiert. Dann könnten Python-Methoden einzelne Pixel (langsam) aus dem Java-Speicher auslesen. (getitem, setitem implementieren)