Re: [micro-manager-general] Slow Images and low Memory
Status: Beta
Brought to you by:
nicost
|
From: Nico S. <nic...@uc...> - 2017-07-31 20:36:56
|
Hi Karsten, On 7/31/2017 2:39 AM, Karsten Schulz wrote: > i have written an “DeviceDriver” for us Cameras. That work’s after > long period of investigation succsessfull. > > But the ImageJ +Micromanager capture not only some images, it’s taken > most of the available memory (32 Bit version under W10 64Bit) > Is it not possible to run it in a 64-biti process? That will make memory management a lot easier. > What can i do to reduce the usemnet of free memory.. the > captureprocess by large images 3.6K and 5.3K stucks and stop by out of > memory. > That is 19 MB per image (if they are only 8-bit, 38MB for 16-bit images, 76MB for color images). > In Twain/DirectShow and so on it’s possible to got all images with > large formats. > > Question 1) Give it an Ringbuffer for stacking they i can reduce by > config or anthing ? > > Question 2) µManager show me more then 100 fps , but the live image > comes on with 5Hz or 10 what is wrong (Color image HD) (SourceData lay > on with more then 50Hz USB3.0) > First of all, Micro-Manager has not been well optimized for color images, and will certainly have problems with images of the size you describe. If it manages 5-10Hz, then that is about as good as you can expect (the data will go through one or two layers of bit mangling, histograms for each color are calculated, and the final composite image has to be calculates based on brightess/contrast settings). Memory management takes place at various levels. First, you need to decide how much memory to assign to ImageJ. Since the image data live outside of ImageJ (most of the time), you may want to keep that relatively low. Second, there is a circular buffer that your images go through in between the C++ and Java layers. You can set its size under Tools > Options. You want it to fit at least a couple of images, and when you are getting circulat buffer overflow errors, you may want to increase it. In your 32-bit environment, you may want to keep both the ImageJ and cirecular buffer memory low so that there is space for your images. Hope this helps! Best, Nico |