Subject: Kalman filter or Alternative
Message-ID: <A7D13EC0-14A2-4B25-9C52-7EE05AF8182E@gmail.com>
> On Apr 26, 2019, at 2:29 AM, Hartell, Nick (Prof.) <nh88 at leicester.ac.uk> wrote:
>
> Dear List,
> I have been using an XOP kindly provided by another user many years ago that has a function that allows Kalman Filtering of images. It has proved very useful.
> Consequently, I have procedures that rely on this but the XOP isn?t 64 bit and so I am unable to move to 64 bit Igor 7. All my other XOPs are 64 bit compatible so this is the last one that is preventing me moving.
>
> Can anyone suggest how I could implement this type of image filter in Igor so that I can avoid using the XOP? Perhaps there is something similar already implemented in Igor 7. I have never been absolutely wedded to this type of filtering but it seems to work very nicely and it is quite quick (at least via an XOP). The use would be to scan an image several times and display a Kalman average that updates with successive scans. Usually, I would average 2-5 images.
>
> Hopefully,
> B
> Nick
>
Dear List:
I was the user who originally did the XOP. It was part of a project for laser scanning microscopy acquisition and control using nidaq tools. It was available on Igor exchange but I have not kept up with updating it, and the svn support for IgorExchage is no longer available. The lab I work for has not as much need for two photon experiments at the moment. In other words, I have been too busy with coding other projects to give the twoPhoton code the time it deserves. If there was a huge demand for it from other labs, I might be tempted to do more with it. In the meantime, I have put the code and compiled binaries on GitHub.
I?ve had versions of this code since Igor 3 (I remember re-doing the interface when tab controls were added in Igor Pro 4), and the XOP has been compiled for everything from the days of Mac OS 9 Power PC and windows 98 to latest 64 bit versions of Mac OS and windows 10. It needs an overhaul and getting rid of the many #ifdefs that allow compilation of the same code on many platforms and development environments, most of them obsolete, but I have put the Igor code and the XOP code as is and compiled versions of the XOP on GitHub.
https://github.com/jamieboyd/twoPhoton <https://github.com/jamieboyd/twoPhoton>
The compiled XOP for windows will need the windows redistributable C++ runtime for visual studio 2017.
https://support.microsoft.com/en-ca/help/2977003/the-latest-supported-visual-c-downloads <https://support.microsoft.com/en-ca/help/2977003/the-latest-supported-visual-c-downloads>
I have also made many things multithreaded. On Windows, this was done using the open source pThreads-win32 for windows library by Ross P. Johnson.
https://sourceware.org/pthreads-win32/ <https://sourceware.org/pthreads-win32/>
The dll for which is provided.
There is an Igor help file that explains installation and usage. It?s incomplete, but the description of the XOP usage is there.
Feel free to contact me with questions.
Cheers,
jamie
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://info-igor.org/attachments/20190427/cf4786df/attachment.html>