Login  Register

Re: JApplet integration/interaction

Posted by ctrueden on Dec 16, 2014; 10:03pm
URL: http://imagej.273.s1.nabble.com/JApplet-integration-interaction-tp5010762p5010971.html

Hi Marius,

> dicom examples and tried to load them through the swing-ui (I thought
> scifio would support that) but it only says "Initializing... .dcm"

Yes, SCIFIO does support DICOM out of the box [1].

> Can I load stacks with the swing ui?

Yes.

The behavior you observed was a bug in SCIFIO, now fixed [2].

The fix will be uploaded to the ImageJ update site this Friday. In the
meantime, you can add a dependency to io.scif:scifio:0.17.2-SNAPSHOT to
test the fix. See also
http://imagej.net/Architecture#Using_snapshot_couplings_during_development

Regards,
Curtis

[1]
https://github.com/scifio/scifio/blob/scifio-0.17.1/src/main/java/io/scif/formats/DICOMFormat.java
[2]
https://github.com/scifio/scifio/commit/c6a1dccc331d093a9d71de5ca00332cdf89095f5

On Tue, Dec 16, 2014 at 10:43 AM, Marius Giepz <[hidden email]>
wrote:

>
>   Hi!
>  Thanks a lot for your answers. I finally found some time to look a little
> bit more into the code. From what I see the only option for what I need
> would be to
>  start with the (although still limited) ImageJ2 framework and its swing
> ui as an example.
>  The only code I found so far which uses an embedding scenario like mine
> with IJ1 seems to be TrakEM2. After looking at the code I definitely do NOT
> want to go that route of AWT/Swing crazyness.
>
>  So now I am checking at least the basic requirements with IJ2:
>
>  - eventbus: ok (very cool ;))
>  - roi drawing + overlays: ok
>  - measuring roi: does not seem to be in the swing roi-manager, but the
> sandbox measurement demo shows how to do it
>  - adjust window/level (HU): I guess that is feasable with ImageLib2
> somehow
>  - import raw images: That has to be implemented in SCIFIO, right?
>
>  - stacked images: I downloaded some free dicom examples and tried to load
> them through the swing-ui (I thought scifio would support that) but it only
> says "Initializing... .dcm" but never shows something. Is that not
> implemented yet? Can I load stacks with the swing ui?
>
>  best regards,
>
>  Marius
>
>
> Curtis Rueden <[hidden email]> hat am 5. Dezember 2014 um 22:15
> geschrieben:
>
>  Hi Marius,
>
>  > embedding in Swing
>
>  You can mix and match AWT and Swing components, so if you can tolerate
> ImageJ 1.x's use of AWT, you may be all set.
>
>  Alternately, the ImageJ2 project has a more flexible UI plugin system,
> which includes a Swing-based UI closely modeled after the ImageJ 1.x
> interface: https://github.com/imagej/imagej-ui-swing
>
>  However, ImageJ2 UIs other than the "legacy" interface have very limited
> support for ImageJ 1.x plugins.
>
>  Given your requirements, it would probably be the least effort to use
> ImageJ1 as an applet, and tolerate its AWT-isms.
>
>  > is there a way to "remotecontrol" IJ and communicate with it in a
>  > bidirectional fashion.
>
>  If you use ImageJ2, there is limited support for running ImageJ1 code
> headless; see:
>  http://imagej.net/Headless
>
>  > Probably something like an eventbus?
>
>  The ImageJ2/SciJava architecture uses an event bus for all its event
> handling:
>
> https://github.com/scijava/scijava-common/blob/scijava-common-2.35.1/src/main/java/org/scijava/event/EventService.java
>
>  But that won't help you w.r.t. ImageJ 1.x functionality.
>
>  Regards,
>  Curtis
>
>  On Thu, Dec 4, 2014 at 5:58 AM, Marius Giepz <[hidden email]>
> wrote:
>
> Hello!
> I am new to ImageJ but I think it might be a good option for a project
> that I am
> currently planning.
>
> I have an allready existing application which is a Swing Applet that
> communicates with an applicationserver.
> It basically manages tabular data in a CRUD fashion. Now I have the
> additional
> requirement that some entities in a table
> are linked to stacks of images on the client filesystem (raw data that I
> was
> allready able to import and use in IJ).
>
> - The user should be able to open such an image and (graphically) interact
> with
> it.
> - Ideally the ImagePlus and the selectiontools should be embedded with in
> the
> Swing ui, but after reviewing the IJ Swing-UI it does not seem to offer
> all the
> options that I'd need, yet.
> Out of the box I could embedd the Image using JImagePanel but not interact
> with it, correct?
> - The following IJ core or plugin functions need to be supported:
> -- Import RAW image (just like with the import-raw option in the classic
> IJ ui)
> through api call
> -- Load addtional images as overlays through api call
> -- Zoom, move and scroll through slices using the mouse
> -- Select/Focus an existing ROI through api call
> -- Create new ROI by means of drawing on the image, then get the resulting
> data
> (position, measure..) back into the applet.
> -- Adjust window/level (HU), similar to the "CT Window Level" plugin
> -- Optionally show Orthoslices
>
> So the question is: If embedding in Swing is not feasable, as my
> requirements
> are not yet supported, is there a way to "remotecontrol" IJ and
> communicate with
> it in a bidirectional fashion. Probably something like an eventbus?
> Thnx in advance for your help!
>
> kind regards,
>
> Marius Giepz
>
> --
> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>
>
>
>

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html