Fix Version/s: None
maskVignettedRegion is doing a loop over pixels in a detector to check inclusion in a polygon. This is causing a large number of allocations, and a large runtime due to the nature of python loops.
This ticket adds a contains c++ method overload for supplying x,y pairs instead of Point objects (it creates one internally). The python c++ binds make use of this and auto vectorization to allow arrays to be passed as arguments. The arrays can then be looped over in c++ instead of python making things much more efficient.
Finally the ticket updates ip_isr to make use of this functionality.
This results in a speed up of approximately 8x for isr task where the maskVignettedRegion is used.
|Field||Original Value||New Value|
|Status||To Do [ 10001 ]||In Progress [ 3 ]|
Tim Jenness made changes -
|Team||Data Release Production [ 10301 ]|
|Reviewers||Christopher Waters [ cwaters ]|
|Status||In Progress [ 3 ]||In Review [ 10004 ]|
Christopher Waters made changes -
|Status||In Review [ 10004 ]||Reviewed [ 10101 ]|
|Resolution||Done [ 10000 ]|
|Status||Reviewed [ 10101 ]||Done [ 10002 ]|
Yusra AlSayyad made changes -
|Epic Link||PREOPS-1494 [ 2225526 ]|