[ome-users] Running Bio-Formats from a plugin
Ved P. Sharma
vedsharma at gmail.com
Tue Jun 30 20:06:24 BST 2015
Thanks for your answer Jmarie! Running BF Importer in a new thread did
improve its performance. Now, I have a new problem and wondering if you can
help me.
After opening files using BF Importer (in a new thread) I am performing
some operations on the images. It seems to me that Event Dispatch Thread
(EDT) starts running "some operations" before images are even open. How do
I stop EDT until new thread is finished opening the files? For example, the
following code logs "Number of open images= 0" and then opens the images.
Any ideas on how to fix this?
public void actionPerformed(ActionEvent e) {
Thread queryThread = new Thread() {
public void run() {
IJ.run("Bio-Formats Importer",
"open=[d:\\Users\\ved\\Test\\image.dv] autoscale color_mode=Default
split_channels view=[Standard ImageJ] stack_order=Default");
}
};
queryThread.start();
int n = WindowManager.getImageCount();
IJ.log("Number of open images= "+n);
// perform some operations
On Tue, Jun 30, 2015 at 11:05 AM, Jean-Marie Burel (Staff) <
j.burel at dundee.ac.uk> wrote:
> Dear Ved
>
> This is due to a threading issue
> When your frame is displayed and you click on the button,
> you are “blocking” the UI when Bio-Formats is reading the file.
>
> If you do not invoke Bio-Formats in the UI thread, you should see the
> same performance
> For demo
>
> public void actionPerformed(ActionEvent e) {
>
> Thread queryThread = new Thread() {
>
> public void run() {
>
> IJ.run("Bio-Formats Importer",
> "open=[d:\\Users\\ved\\Test\\image.dv] autoscale color_mode=Default
> split_channels view=[Standard ImageJ] stack_order=Default");
>
> }
>
> };
>
> queryThread.start();
>
>
>
> }
>
>
>
> Cheers
>
> Jmarie
>
> From: "Ved P. Sharma" <vedsharma at gmail.com>
> Reply-To: "ved.sharma at gmail.com" <ved.sharma at gmail.com>, OME User Support
> List <ome-users at lists.openmicroscopy.org.uk>
> Date: Friday, 26 June 2015 18:51
> To: "Balaji Ramalingam (Staff)" <b.ramalingam at dundee.ac.uk>
> Cc: OME User Support List <ome-users at lists.openmicroscopy.org.uk>
> Subject: Re: [ome-users] Running Bio-Formats from a plugin
>
> Dear Balaji,
>
> I think the ActionListener in my plugin is slowing the BF Importer. Take
> a look at a sample code below. The first call to BF importer from inside
> BF_plugin() opens image quickly but when I press the "open image" button,
> it takes 5-10 sec to open the same image. Any thoughts on why
> ActionListener is slowing things down and how to remedy this?
>
> Thanks,
>
> Ved
>
>
> // ******************* plugin starts here ****************************
> import ij.plugin.frame.*;
> import java.awt.event.*;
> import ij.*;
> import ij.gui.*;
> import javax.swing.*;
>
> public class BF_plugin extends PlugInFrame implements ActionListener {
> private JPanel panel;
> public BF_plugin() {
> super("BF_plugin");
> panel = new JPanel();
> JButton b = new JButton("open image");
> b.addActionListener(this);
> panel.add(b);
> add(panel);
> pack();
> GUI.center(this);
> setVisible(true);
> IJ.run("Bio-Formats Importer",
> "open=[d:\\Users\\ved\\Test\\image.dv] autoscale color_mode=Default
> split_channels view=[Standard ImageJ] stack_order=Default");
> }
> public void actionPerformed(ActionEvent e) {
> IJ.run("Bio-Formats Importer",
> "open=[d:\\Users\\ved\\Test\\image.dv] autoscale color_mode=Default
> split_channels view=[Standard ImageJ] stack_order=Default");
> }
> }
> // ******************* plugin ends here ****************************
>
>
> On Fri, Jun 26, 2015 at 10:33 AM, Balaji Ramalingam (Staff) <
> b.ramalingam at dundee.ac.uk> wrote:
>
>> Hi,
>>
>> Thank you for reporting your issue.
>> It would be great if you could expand the “options” that were used to
>> open the image within the plugin.
>>
>> Could you please check the following,
>>
>> 1. open ImageJ. Go to Plugins—>Macro—> Record
>> 2. In the Macro Recorder window , please use the drop down menu for
>> “Record” and select “Java” as the option.
>> 3. Repeat the Manual workflow described in your post (which opens the
>> file within a fraction of a second).This will record the api method call ,
>> in the Recorder window.
>> 4. And check if the “options” in your plugin, matches the “options”
>> in the Macro Recorder, for the IJ.Run method.
>>
>> If they match, there should be no difference in terms of performance in
>> the import call.
>> Please let us know, if you find otherwise.
>>
>> Best,
>> Balaji
>>
>> __________________
>>
>> Mr Balaji Ramalingam
>>
>> Software Developer
>>
>> OME Team
>>
>> College of Life Sciences
>>
>> University of Dundee
>>
>> From: "Ved P. Sharma" <vedsharma at gmail.com>
>> Reply-To: "ved.sharma at gmail.com" <ved.sharma at gmail.com>, OME User
>> Support List <ome-users at lists.openmicroscopy.org.uk>
>> Date: Thursday, 25 June 2015 20:11
>> To: "ome-users at lists.openmicroscopy.org.uk" <
>> ome-users at lists.openmicroscopy.org.uk>
>> Subject: [ome-users] Running Bio-Formats from a plugin
>>
>> Hi,
>>
>> When I run *Bio-Formats Importer* from ImageJ, it opens an image file
>> of size ~ 20MB within a fraction of a second. When I open the same image
>> file by calling *Bio-Formats Importer* from inside a plugin using
>> IJ.run("Bio-Formats Importer", "options"), it takes a long time to open the
>> file (~ 10 sec). It starts with a white background and then after about
>> ~5-10 seconds, the image is displayed. Can anybody tell me what am I doing
>> wrong when calling BF Importer from inside a plugin?
>>
>> *System info:* I have ImageJ 1.49v running on WIndows 7, 64-bit computer
>> and I have installed bioformats_package.jar (ver 5.1.2) in the plugins
>> folder of ImageJ.
>>
>> Thanks,
>>
>> Ved
>>
>> _________________________________
>> Ved P. Sharma, PhD
>> Dept. of Anatomy and Structural Biology
>> Albert Einstein College of Medicine
>> Bronx, NY 10461
>>
>>
>> The University of Dundee is a registered Scottish Charity, No: SC015096
>>
>
>
> The University of Dundee is a registered Scottish Charity, No: SC015096
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openmicroscopy.org.uk/pipermail/ome-users/attachments/20150630/dfe64510/attachment.html>
More information about the ome-users
mailing list