Login  Register

Re: 'Silent' client-side image processing with ImageJ

Posted by ctrueden on May 24, 2015; 2:12am
URL: http://imagej.273.s1.nabble.com/Silent-client-side-image-processing-with-ImageJ-tp5012894p5012930.html

Hi Gareth,

Your easiest option from a development perspective is to create an ImageJ
update site, and direct your users to install ImageJ and activate your
update site. I.e.: a desktop application. It will be easy to push future
updates to your users that way.

If you are convinced a web app is necessary, then you can either:
A) do the processing on the server side, as I described earlier; or
B) use a Java applet to do the processing client side.

Those are the only ways (that I know of) you're going to be able to run
Java code as part of a web application. But running Java client-side is
becoming more and more difficult, due to the increasing stigma of Java
applets—e.g.,
http://www.javaworld.com/article/2078559/mobile-java/last-call-for-client-side-java.html

I guess a third option would be:
C) use Java Web Start to launch a Java desktop application from your web
page.
That would also make it easy to push updates. But it doesn't exactly give
you the "silent" processing you are looking for. Is that _really_ a
requirement though? If a little window popped up that told the user what
was going on as it was working, that would be fine, wouldn't it?

Regards,
Curtis

On Fri, May 22, 2015 at 11:11 PM, gj384 <[hidden email]> wrote:

> Hi Curtis,
>
> Thanks so much for your advice. The reason I had hoped to do the processing
> on the client side was due to the fact that our web host doesn't allow Java
> applets on shared hosting (which we have) due to potential high CPU
> requirements - we'll need to move to virtual private server or dedicated
> server hosting to do that, which will cost us more than 10 times what we're
> currently paying. Not completely out of the question though if that's the
> only way we can make it work.
>
> An alternative of course might be to package an ImageJ-based front end
> desktop application that the user can download and install to carry out the
> image processing on his own machine, but if it's possible to do it as a web
> application then I believe that would be best as it would make it easier to
> upgrade and improve the system in the future.
>
> So here's a little more detail, in case it helps:
>
> - The TIFF images we need to process are actually GeoTIFFs and comprise 3
> bands - near-infrared, green and blue. I understand that ImageJ doesn't
> currently handle GeoTIFF metadata (that is to say I can't find any plugins
> that look like they can do it), and I'm experimenting with a few different
> ways to copy the GeoTIFF metadata from the input image and apply it
> post-processing to the output image, but that's not a pressing issue for
> now.
>
> - The processing involves a simple formula which creates a new single-band
> TIFF in which each pixel is assigned a value from 0-255, representing a
> real value of -1.0 to +1.0 (0 is -1.0, 128 is 0.0 and 255 is +1.0).
> The -1.0 to +1.0 index value is a result of the formula (N-G)/(N+G). This
> is a fairly widely used formula which can give an indication of crop health
> and stress among other things - high values indicate healthy crops, low
> values indicate unhealthy crops or very little crop biomass, and slight
> negative values indicate water or snow. I've been using Ned Horning's
> PhotoMonitoring plugin to do this via the GUI with very good results.
>
> - I then apply a custom LUT which helps emphasise the variations across the
> paddock, and categorise each zone into different range classes.
>
> - Finally I'd like to automatically add a border, colour legend, scale bar,
> North arrow etc - not up to this part yet though.
>
> - The final output needs to be in TIFF format. Ideally I'd like to output
> the maps in PDF format too but for now I'm just looking to get the basic
> process working automatically for a group of web users without input from
> my end each time an image is submitted for processing.
>
> Thanks again. If anyone can give me any additional advice on getting this
> to work through 'silent' client-side processing (i.e. without any of
> the ImageJ GUI elements being displayed to the user at any time) I'd really
> appreciate it. If this is simply not possible then that will also answer
> many of my questions!
>
> Cheers,
> Gareth
>
> On Friday, May 22, 2015, ctrueden [via ImageJ] <
> [hidden email]> wrote:
>
> > Hi Gareth,
> >
> > > The processing itself would take place on the client machine
> >
> > I missed this point in my first response. That changes the equation. And
> I
> > don't have a good solution for you. But I would ask you to reevaluate
> > whether you really need to do things the way you describe, to accomplish
> > your goals. If you elaborate a bit more on what your requirements are,
> > perhaps people on the list can offer you more tractable solutions.
> >
> > Regards,
> > Curtis
> >
> > On Wed, May 20, 2015 at 10:21 PM, gj384 <[hidden email]
> > <http:///user/SendEmail.jtp?type=node&node=5012911&i=0>> wrote:
> >
> > > Hi there,
> > >
> > > I'm in the process of developing an ImageJ macro with the following
> > basic
> > > workflow:
> > >
> > > 1. Open TIFF file
> > > 2. Calculate NDVI (using Ned Horning's PhotoMonitoring plugin)
> > > 3. Apply a custom LUT to the NDVI image
> > > 4. Add a few other elements to the map (legend, scale bar, north arrow
> > etc)
> > > 5. Save the new NDVI image as a new TIFF file
> > >
> > > What I would really like to do is have the above process run 'silently'
> > > from
> > > a website - by this I mean the user would open the web page, log in
> etc,
> > > select a file from his local drives, fill in a few options and submit
> it
> > > for
> > > processing. The processing itself would take place on the client
> > machine,
> > > and when it was complete the user would be presented with the final
> NDVI
> > > map
> > > which he could save and use.
> > >
> > > Before I go too far down the path of doing this with a macro and then
> > > attempting to turn it into a 'silent' program as described above, I
> just
> > > thought I would ask if anyone else has done anything like this before,
> > and
> > > whether it would even be possible. I tried a few different searches and
> > > couldn't find anything that seemed relevant to my question. I may be
> > going
> > > about this in completely the wrong way, and in fact this is highly
> > likely
> > > as
> > > I'm very new to both Java and ImageJ.
> > >
> > > If anyone could provide any pointers or similar examples which might
> > help
> > > I'd be extremely grateful!
> > >
> > > Thanks in advance
> > >
> > > Gareth Jones
> > >
> > >
> > >
> > > --
> > > View this message in context:
> > >
> >
> http://imagej.1557.x6.nabble.com/Silent-client-side-image-processing-with-ImageJ-tp5012894.html
> > > Sent from the ImageJ mailing list archive at Nabble.com.
> > >
> > > --
> > > ImageJ mailing list: http://imagej.nih.gov/ij/list.html
> > >
> >
> > --
> > ImageJ mailing list: http://imagej.nih.gov/ij/list.html
> >
> >
> > ------------------------------
> >  If you reply to this email, your message will be added to the discussion
> > below:
> >
> >
> http://imagej.1557.x6.nabble.com/Silent-client-side-image-processing-with-ImageJ-tp5012894p5012911.html
> >  To unsubscribe from 'Silent' client-side image processing with ImageJ,
> click
> > here
> > <
> >
> > .
> > NAML
> > <
>
http://imagej.1557.x6.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml
> >
> >
>
>
> --
>
> *Gareth Jones*
> *Precision Agriculture Consultant*
>
> *Eden Precision Agriculture*
>
> 0414 524 106
> [hidden email]
> edenpa.com.au
>
>
>
>
> --
> View this message in context:
> http://imagej.1557.x6.nabble.com/Silent-client-side-image-processing-with-ImageJ-tp5012894p5012921.html
> Sent from the ImageJ mailing list archive at Nabble.com.
>
> --
> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>

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