AllenNeuralDynamics / AllenNeuralDynamics/exa-spim-control
Remove dangling image copy operation
- Dominant language
- Python
- Stars
- 2
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
The eGrabber api showcases an example where you can write to an existing buffer. Pasted below.
````python
"""Grab into user allocated buffer. sample240.py"""
from egrabber import *
gentl = EGenTL()
grabber = EGrabber(gentl)
payload_size = grabber.get_payload_size()
user_buffer = bytearray(payload_size)
grabber.announce_and_queue(UserMemory(user_buffer))
grabber.start(1)
with Buffer(grabber) as buffer:
base = buffer.get_info(BUFFER_INFO_BASE, INFO_DATATYPE_PTR)
data_size = buffer.get_info(BUFFER_INFO_DATA_SIZE, INFO_DATATYPE_SIZET)
print('User memory address: {}, buffer data size: {}'.format(base, data_size))
grabber.stop()
grabber.realloc_buffers(0)
````
It would be a huge win to be able to write this into the shared memory double buffer so that the image would never have to be copied.
Note: that this is only practical if we
1. do not need to do any point-operations before sending the image to ImarisWriter. (i.e: transposing the image.)
2. do not need to use a copy of the image anywhere else. (This could be tricky with MIPs, but still doable.)
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.