-
Notifications
You must be signed in to change notification settings - Fork 238
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add reader for PicoQuant .bin files. (rebased onto dev_5_0) #1287
Add reader for PicoQuant .bin files. (rebased onto dev_5_0) #1287
Conversation
…loaded to obviate future memory issues. NB loading is 4-5 times slower.
0000000
to
935e763
Compare
--rebased-from #1245 |
Tested by importing to octopus. From the |
The first time-points are typically dark (before the laser pulse that excites the fluorescence) & insight displays the fist time-point by default so it's not unexpected. If all the time-points are black however that would be a problem. |
@imunro Encouraged by your comment, I wanted to automatically scan each time-point by using the "Play" button in the image viewer. Insight sadly gave me java.lang.Exception: Abnormal termination due to an uncaught exception.
java.lang.IllegalArgumentException: (minimum <= value <= maximum) is false
at javax.swing.SpinnerNumberModel.<init>(SpinnerNumberModel.java:108)
at javax.swing.SpinnerNumberModel.<init>(SpinnerNumberModel.java:130)
at org.openmicroscopy.shoola.agents.imviewer.util.player.MoviePlayerUI.initComponents(MoviePlayerUI.java:194)
at org.openmicroscopy.shoola.agents.imviewer.util.player.MoviePlayerUI.<init>(MoviePlayerUI.java:432)
at org.openmicroscopy.shoola.agents.imviewer.util.player.MoviePlayerDialog.<init>(MoviePlayerDialog.java:126)
at org.openmicroscopy.shoola.agents.imviewer.view.ImViewerControl.getMoviePlayer(ImViewerControl.java:753)
at org.openmicroscopy.shoola.agents.imviewer.view.ImViewerComponent.playMovie(ImViewerComponent.java:1915)
at org.openmicroscopy.shoola.agents.imviewer.actions.PlayMovieAction.actionPerformed(PlayMovieAction.java:182)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2351)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
at java.awt.Component.processMouseEvent(Component.java:6414)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3275)
at java.awt.Component.processEvent(Component.java:6179)
at java.awt.Container.processEvent(Container.java:2084)
at java.awt.Component.dispatchEventImpl(Component.java:4776)
at java.awt.Container.dispatchEventImpl(Container.java:2142)
at java.awt.Component.dispatchEvent(Component.java:4604)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4618)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4279)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4209)
at java.awt.Container.dispatchEventImpl(Container.java:2128)
at java.awt.Window.dispatchEventImpl(Window.java:2492)
at java.awt.Component.dispatchEvent(Component.java:4604)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:717)
at java.awt.EventQueue.access$400(EventQueue.java:82)
at java.awt.EventQueue$2.run(EventQueue.java:676)
at java.awt.EventQueue$2.run(EventQueue.java:674)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:690)
at java.awt.EventQueue$3.run(EventQueue.java:688)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:687)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Abnormal termination due to an uncaught exception.
java.lang.IllegalArgumentException: (minimum <= value <= maximum) is false
at javax.swing.SpinnerNumberModel.<init>(SpinnerNumberModel.java:108)
at javax.swing.SpinnerNumberModel.<init>(SpinnerNumberModel.java:130)
at org.openmicroscopy.shoola.agents.imviewer.util.player.MoviePlayerUI.initComponents(MoviePlayerUI.java:194)
at org.openmicroscopy.shoola.agents.imviewer.util.player.MoviePlayerUI.<init>(MoviePlayerUI.java:432)
at org.openmicroscopy.shoola.agents.imviewer.util.player.MoviePlayerDialog.<init>(MoviePlayerDialog.java:126)
at org.openmicroscopy.shoola.agents.imviewer.view.ImViewerControl.getMoviePlayer(ImViewerControl.java:753)
at org.openmicroscopy.shoola.agents.imviewer.view.ImViewerComponent.playMovie(ImViewerComponent.java:1915)
at org.openmicroscopy.shoola.agents.imviewer.actions.PlayMovieAction.actionPerformed(PlayMovieAction.java:182)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2351)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
at java.awt.Component.processMouseEvent(Component.java:6414)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3275)
at java.awt.Component.processEvent(Component.java:6179)
at java.awt.Container.processEvent(Container.java:2084)
at java.awt.Component.dispatchEventImpl(Component.java:4776)
at java.awt.Container.dispatchEventImpl(Container.java:2142)
at java.awt.Component.dispatchEvent(Component.java:4604)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4618)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4279)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4209)
at java.awt.Container.dispatchEventImpl(Container.java:2128)
at java.awt.Window.dispatchEventImpl(Window.java:2492)
at java.awt.Component.dispatchEvent(Component.java:4604)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:717)
at java.awt.EventQueue.access$400(EventQueue.java:82)
at java.awt.EventQueue$2.run(EventQueue.java:676)
at java.awt.EventQueue$2.run(EventQueue.java:674)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:690)
at java.awt.EventQueue$3.run(EventQueue.java:688)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:687)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Exception in thread "AWT-EventQueue-0"
at org.openmicroscopy.shoola.env.ui.UserNotifierImpl.showErrorDialog(UserNotifierImpl.java:191)
at org.openmicroscopy.shoola.env.ui.UserNotifierImpl.notifyError(UserNotifierImpl.java:291)
at org.openmicroscopy.shoola.env.AbnormalExitHandler.doTermination(AbnormalExitHandler.java:147)
at org.openmicroscopy.shoola.env.AbnormalExitHandler.terminate(AbnormalExitHandler.java:85)
at org.openmicroscopy.shoola.env.AWTExceptionHanlder.handle(AWTExceptionHanlder.java:99)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.awt.EventDispatchThread.handleException(EventDispatchThread.java:412)
at java.awt.EventDispatchThread.processException(EventDispatchThread.java:318)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:312)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) /cc @jburel |
@imunro Manually scanning through the first 10% of time-points of both the sample images does indeed reveal their content, so the reader looks OK. The Insight fatal crash is a bit of a blocker though. |
Have you seen that with any other file types? Can't immediately see how how a reader could cause that. |
Which user did you log in as? so I can have a look |
@jburel I've used |
@bpindelski: I fixed an issue with movie player on develop so that will explain |
Replicated the issue using DaisyPollen.bin from that dataset. Only happens on playing the data as a movie. Stepping through is fine. |
see ome/openmicroscopy#2908 for fixes in movie player |
Testing using a local client build including fixes to movie-player (see ome/openmicroscopy#2908) against octopus. The problem does not occur. |
Add reader for PicoQuant .bin files. (rebased onto dev_5_0)
Looking at snoopycrimecop@80cbe7e. Should we have a set of proper documentation pages for the PicoQuant format (would require to edit |
I'll try & have a look as soon as I can. |
Documentation would be handy @imunro - this won't show up on the supported formats table if it isn't documented. |
This is the same as gh-1245 but rebased onto dev_5_0.
This adds support for one of the formats covered by https://trac.openmicroscopy.org.uk/ome/ticket/8059#
NB I am led to believe that the other format is a FIFO rather than imaging format in which case it could prove 'challenging'.