Ticket #302 (closed task: fixed)
Opened 2010-12-13T10:37:15-06:00
Last modified 2012-02-24T15:48:28-06:00
Investigate plugin chaining schemes
Reported by: | aivar | Owned by: | aivar |
---|---|---|---|
Priority: | major | Milestone: |
|
Component: | Plugin Framework | Version: | |
Severity: | major | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | #11, #35 |
Description
Develop plugin chaining ideas. Tidy up Deep Zoom Plugin as testbed for plugin chaining schemes. Work on plugin chaining scheme prototype for more parallelism. Research open source workflow/pipeline software. Look at JAI's pull imaging model.
Change History
comment:1 Changed 2010-12-13T10:55:04-06:00 by aivar
comment:2 Changed 2010-12-13T11:04:46-06:00 by aivar
Deep Zoom Plugin
The Deep Zoom Plugin takes a large image and sets up a zoomable, browser-based viewer that can be viewed locally or shared across the Internet.
The plugin is invoked through "File/Save As...". You need to specify the Output folder to use to build the files and a HTML file name that is unique within that folder. The HTML title is just the title at the top of the web page, that is used when a bookmark is saved. The Image window width/height specify the size of the viewing window. If the Launch browser checkbox is selected the output is shown in a browser window. This can just load the file locally, or you can specify a URL that is associated with the output folder.
Currently 24-bit RGB images are required. Also if you select the SINGLEINSTANCE or MULTIINSTANCE plugin the browser may launch before the output files are ready. The workaround is to wait a little and then refresh the page.
comment:3 Changed 2011-02-14T18:22:34-06:00 by aivar
- Status changed from new to closed
- Resolution set to fixed
The MULTIINSTANCE version of the workflow became a new project:
extra/workflow
This workflow project was used to execute workflows from Rick Lentz's workflow pipes project:
extra/workflowpipes
This was demonstrated at the February 2011 Fiji Hackathon.
This is being shelved for now, so I'm closing the ticket. The workflow design will be used to motivate having a flexible module interface for IJ2.
During cycle ending Dec 11, I set up the Deep Zoom plugin as a maven project:
uw-loci/deep-zoom-plugin
My original plugin chaining prototype is in loci.multithreadedplugin, it's not hooked up yet, has some issues.
I developed loci.multiinstanceplugin instead on top of that code. This code allows a programmer to chain plugins together. It launches a new instance of a plugin whenever a set of input images for that plugin become available.
For testing, the Deep Zoom Plugin allows you to choose an implementation. The CHAINED implementation runs everything on a single thread in a memory-efficient way. MULTIINSTANCE launches a new instance of a plugin with its own thread whenever a set of input images becomes available. With SINGLEINSTANCE only one instance of each plugin can run at a time.