[ImageJ-devel] ImageJ on Android talk

Curtis Rueden ctrueden at wisc.edu
Fri Oct 5 16:16:10 CDT 2012


Hi Justin,

Thanks for your reply, and sorry for the delay in my response.



> >Did you try to build the code as-is
> Yes, I’m down from an original 8000 compilation errors in basic ImageJ to
> 3000 by writing wrappers to map Java AWT components to basic Android ones.


Interesting. Did you see this project: http://code.google.com/p/sdf4j/

It might be worthwhile to create an ImageJ2 SDF4J UI that would be
compatible with both AWT-based JVMs and Android (since those are the two
existing implementations so far).

Also, are you talking about ImageJ 1.x, or ImageJ2? With ImageJ2, no AWT
wrappers should be necessary; rather, you can implement a different UI
using the Android UI classes (or perhaps even SDF4J, mentioned above).




They are very similar, but some incompatibilities makes totally as-is
> ImageJ difficult, and ImgLib impossible, so I have:

**


I am interested to hear why ImgLib on Android is impossible. Are there
changes we can make to the library to fix that? If so, we should do it
sooner rather than later. The longer we wait to make architectural or API
changes to the code, the more difficult it will become, due to increasing
usage in the wild. And once ImgLib2 and ImageJ2 come out of beta we will be
committed to maintaining backwards API compatibility, which complicates
things.




> > Did you try the Maven Android plugin (
> https://github.com/jayway/maven-android-plugin)?
> Yes, but I actually found that I had to substantially un-mavenize ImgLib
> to do the actual programming.  This is mostly because I like to use the
> Eclipse debugger, frequently going across dependencies in figuring out
> bugs.  Understanding how to get this to work better with Maven is probably
> a point where I would be interested in showing you what I’m doing and
> seeing ideas for improvement in workflow on my end.  Maybe we will have
> this chance at the conference.

****

**

**


Definitely, I would be happy to help. You should certainly not have to
un-Mavenize these projects. On the contrary, the M2E plugin is supposed to
make dependency management in Eclipse better and more powerful. There are
two ways of doing it: 1) import the actual Maven projects (in which case
you can debug into and even change the source code on the fly), or 2)
right-click the Maven JAR dependency and select "Maven > Download Sources"
to download and link a source code JAR (in which case you can debug into,
but not change, the linked source code).




> > Did you think about creating an HTML5/Javascript frontend to an ImageJ
> server, for cross-platform mobile support?
> This is something I saw a lot of people doing at a recent medical imaging
> conference, but not specifically for mobile support (but that is a
> reasonable next step).  Do you know of any examples of just general-purpose
> applications that have done this for cross-platform mobile use?

**

**

**

I have not done a lot of research, but some basic searches yield e.g. many
YouTube videos talking about cross-platform mobile development using HTML5.
>From a cursory inspection, it looks quite doable, though there are surely
many pitfalls (e.g., no position:fixed on iOS 4!).


One video I saw (http://www.youtube.com/watch?v=Ij5YWGiGSMU#t=16m39s) goes
into a fair amount of detail discussing cross-platform mobile HTML5
development, and comparison to native apps. But that video is already
almost two years old, and given how fast HTML5 is growing, it's hard to say
what the current state of affairs is without more extensive research and
experimentation.


In any case, I'm looking forward to hearing your talk at the conference.
Hopefully we will have time to hack on some code. Note that I will be in
Luxembourg until Sunday the 28th, to discuss and work on projects a little
afterward.


Regards,

Curtis



On Fri, Sep 21, 2012 at 3:28 PM, Senseney, Justin (NIH/CIT) [E] <
senseneyj at mail.nih.gov> wrote:

> Hi Curtis,****
>
> ** **
>
> Great to hear from you, feel free to reply just to the list as I am
> already subscribed.  I made a page here: http://wiki.imagej.net/Androidwhere I will populate it in the future with some details.  Let me mention
> your specific good ideas:****
>
> ** **
>
> >Did you try to build the code as-is****
>
> Yes, I’m down from an original 8000 compilation errors in basic ImageJ to
> 3000 by writing wrappers to map Java AWT components to basic Android ones.
> They are very similar, but some incompatibilities makes totally as-is
> ImageJ difficult, and ImgLib impossible, so I have:****
>
> ** **
>
> >(or minimally modified) for use with Dalvik?****
>
> Yes, to a limited extent it is working with ImgLib, making Maven very
> appealing because the extensive dependency use makes it easy to see what I
> have working.  So I have also tried: ****
>
> ** **
>
> > Did you try the Maven Android plugin (
> https://github.com/jayway/maven-android-plugin)?****
>
> Yes, but I actually found that I had to substantially un-mavenize ImgLib
> to do the actual programming.  This is mostly because I like to use the
> Eclipse debugger, frequently going across dependencies in figuring out
> bugs.  Understanding how to get this to work better with Maven is probably
> a point where I would be interested in showing you what I’m doing and
> seeing ideas for improvement in workflow on my end.  Maybe we will have
> this chance at the conference.****
>
> ** **
>
> > Did you think about creating an HTML5/Javascript frontend to an ImageJ
> server, for cross-platform mobile support?****
>
> This is something I saw a lot of people doing at a recent medical imaging
> conference, but not specifically for mobile support (but that is a
> reasonable next step).  Do you know of any examples of just general-purpose
> applications that have done this for cross-platform mobile use?****
>
> ** **
>
> >Or compile from .class to .dex? ****
>
> That is the goal, but I don’t think there is a way around it without
> resolving the problems I’ve mentioned above.  I’m happy to hear any ideas
> you have (off-list or on).****
>
> ** **
>
> -Justin****
>
> ** **
>
> ** **
>
> *From:* ctrueden.wisc at gmail.com [mailto:ctrueden.wisc at gmail.com] *On
> Behalf Of *Curtis Rueden
> *Sent:* Friday, September 21, 2012 12:44 PM
> *To:* Senseney, Justin (NIH/CIT) [E]
> *Cc:* ImageJ Developers
> *Subject:* ImageJ on Android talk****
>
> ** **
>
> Hi Justin,****
>
> ** **
>
> I hope things are going well with you. I am writing regarding your talk on
> porting ImageJ to the Android platform for the ImageJ conference next
> month. It is something I regret not having time to investigate more, so I
> am happy that you explored it.****
>
> ** **
>
> From your abstract (
> http://imagejconf.tudor.lu/program/doku.php?id=:program:presentations:justin_senseney1804285318),
> it sounds like you encountered quite a few difficulties. Anything you would
> care to discuss prior to the conference? Leaving the door open for mobile
> support has been a major design goal of ImageJ2, so if there are roadblocks
> it would be good to hear about them, to make any corrections in the
> architecture sooner rather than later.****
>
> ** **
>
> Moreover, in general, we would be very interested to hear details of your
> approach. Did you try to build the code as-is (or minimally modified) for
> use with Dalvik? Or compile from .class to .dex? Did you try the Maven
> Android plugin (https://github.com/jayway/maven-android-plugin)? Did you
> think about creating an HTML5/Javascript frontend to an ImageJ server, for
> cross-platform mobile support?****
>
> ** **
>
> These are all directions we would love to see explored. You are more than
> welcome to discuss your findings on this mailing list, and/or post
> technical details on the ImageJ2 wiki (http://wiki.imagej.net/ImageJ2).***
> *
>
> ** **
>
> Regards,****
>
> Curtis****
>
> ** **
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://imagej.net/pipermail/imagej-devel/attachments/20121005/b6fdcef0/attachment.html>


More information about the ImageJ-devel mailing list