STORM_BurstLiveProc

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

STORM_BurstLiveProc

luchangli1993

Dear Nico,

       Sorry to trouble you, I’m Luchang Li, a doctoral student. I’m still developing and testing my micro-manager 2.0 plugin for PALM/STORM online processing. It's almost done.

       There is an urgent problem I want to consult you about the plugin programing. I use the on-the-fly processing pipeline plugin. Commonly the plugin will be correctly called in live and multi-dimensional acquisition. But I want to implement a self-adapted acquisition, so I referenced you suggestion a year ago and the burst acquisition to write a java class. In this class, I create a MyDatastore and associate display and my plugin pipeline to it by the following codes:

        MyDatastore = studio.data().createRAMDatastore();

        MyFactoryList = new ArrayList<ProcessorFactory>();

        MyFactory=new QC_STORM_Factory(studio, myConfigurator);

        MyFactoryList.add(MyFactory);

        MyPipeline=studio_.data().createPipeline(MyFactoryList, MyDatastore, true);

        Mydisp=studio_.displays().createDisplay(MyDatastore);

        studio_.displays().manage(MyDatastore);

then I referenced the code in the burstacquisition script to get image and

MyDatastore.putImage(image1);                        
MyPipeline.insertImage(image1);

So the images can also be processed by my plugin, very similar to the multi-dimensional acquisition.

For multi- dimensional acquisition, when finished, the plugin processer will automatically be destroyed and the cleanup function will be called. So I implement image saving in the cleanup. However, for the pipeline created manually by previous codes, this will not happen, so I manually call the cleanup function. But many times the plugin crashes.

So, how to let the manually created plugin destroy the pipeline processed safely when the acquisition is finished? The attachment is the class I wrote.


Thank you very much and best wishes.

--
Wish you happy everyday!*^_^* 
 
Luchang Li
Doctoral student
Britton Chance Center for Biomedical Photonics
Wuhan National Laboratory for Optoelectronics (WNLO)
Huazhong University of Science and Technology
1037 Luoyu Road WNLO G305, Wuhan 430074, P. R. China


 


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
micro-manager-general mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/micro-manager-general

STORM_BurstLiveProc.java (7K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: STORM_BurstLiveProc

Nico Stuurman-2
On 5/4/18 6:52 AM, li wrote:

> I use the on-the-fly processing pipeline plugin. Commonly the plugin
> will be correctly called in live and multi-dimensional acquisition.
> But I want to implement a self-adapted acquisition, so I referenced
> you suggestion a year ago and the burst acquisition to write a java
> class. In this class, I create a MyDatastore and associate display and
> my plugin pipeline
> I referenced the code in the burstacquisition script to get image and
> MyDatastore.putImage(image1);
> MyPipeline.insertImage(image1);
>
> So the images can also be processed by my plugin, very similar to the
> multi-dimensional acquisition.
>
> For multi- dimensional acquisition, when finished, the plugin
> processer will automatically be destroyed and the cleanup function
> will be called. So I implement image saving in the cleanup. However,
> for the pipeline created manually by previous codes, this will not
> happen, so I manually call the cleanup function. But many times the
> plugin crashes.
>
> So, how to let the manually created plugin destroy the pipeline
> processed safely when the acquisition is finished?
>

Did you try:

studio_.data().clearPipepine();


Best,

Nico

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
micro-manager-general mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/micro-manager-general