jp2 files, LOCI bioformats, Neurolucida virtual slice

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

jp2 files, LOCI bioformats, Neurolucida virtual slice

Kline, David D.
Greetings Image J users,

We are curious if it is possible to open .jp2 files generated by Neurolucida v10 and their Virtual slice module? We have tried and currently the 2D RGB compressed file is opened using the LOCI tools but not correct (out of XY sequence and monochrome).  We also cannot open the 3D z-stack RGB images. Any advice or help would be appreciated!

Many thanks!

Dave
Reply | Threaded
Open this post in threaded view
|

Live line profile plugin?

John Oreopoulos
Hello,

I'm wondering if anyone has created a "live line profile plugin", similar to Bob Dougherty Live Histogram plugin. I'd like to draw a line on one frame of a stack and plot the profile in a graph. Then as I scroll through the stack, I'd like to see the updated line profile on the graph in real time (just like the live histogram). Does such a plugin exist already?

Much thanks,

John Oreopoulos
Reply | Threaded
Open this post in threaded view
|

Re: Live line profile plugin?

dscho
Hi John,

your question does not really have anything to do with .jp2, right? I'm
just asking because your mail headers suggest that you were answering an
earlier question.

On Tue, 28 Jun 2011, John Oreopoulos wrote:

> I'm wondering if anyone has created a "live line profile plugin",
> similar to Bob Dougherty Live Histogram plugin. I'd like to draw a line
> on one frame of a stack and plot the profile in a graph. Then as I
> scroll through the stack, I'd like to see the updated line profile on
> the graph in real time (just like the live histogram). Does such a
> plugin exist already?

Fiji has the Dynamic Profiler which fits your description.

Ciao,
Johannes
Reply | Threaded
Open this post in threaded view
|

Re: jp2 files, LOCI bioformats, Neurolucida virtual slice

dscho
In reply to this post by Kline, David D.
Hi David,

On Tue, 28 Jun 2011, Kline, David D. wrote:

> We are curious if it is possible to open .jp2 files generated by
> Neurolucida v10 and their Virtual slice module? We have tried and
> currently the 2D RGB compressed file is opened using the LOCI tools but
> not correct (out of XY sequence and monochrome).  We also cannot open
> the 3D z-stack RGB images. Any advice or help would be appreciated!

Do you have example data you can share? Without such, it gets really
difficult to guess what is going wrong on your side (and the bug
description is not really detailed enough to allow more than just
guessing :-).

Ciao,
Johannes
Reply | Threaded
Open this post in threaded view
|

Re: jp2 files, LOCI bioformats, Neurolucida virtual slice

Melissa Linkert-2
In reply to this post by Kline, David D.
Hi Dave,

> We are curious if it is possible to open .jp2 files generated by Neurolucida v10 and their Virtual slice module? We have tried and currently the 2D RGB compressed file is opened using the LOCI tools but not correct (out of XY sequence and monochrome).  We also cannot open the 3D z-stack RGB images. Any advice or help would be appreciated!

(Note for everyone else: this problem report and several files were also
sent separately to the Bio-Formats developers.)

The 2D files at least should open correctly if you update to the very
latest trunk build of Bio-Formats.  I am not sure about the 3D files though;
hopefully upgrading solves the problem for those as well, but if not it
would be very helpful if you could send an example 3D file as instructed
previously off-list.

Regards,
-Melissa

On Tue, Jun 28, 2011 at 11:33:23AM -0500, Kline, David D. wrote:
> Greetings Image J users,
>
> We are curious if it is possible to open .jp2 files generated by Neurolucida v10 and their Virtual slice module? We have tried and currently the 2D RGB compressed file is opened using the LOCI tools but not correct (out of XY sequence and monochrome).  We also cannot open the 3D z-stack RGB images. Any advice or help would be appreciated!
>
> Many thanks!
>
> Dave
Reply | Threaded
Open this post in threaded view
|

Re: Live line profile plugin?

David Webster
In reply to this post by John Oreopoulos
Try the Dynamic-Profiler plugin by by Wayne Rasband and Michael Schmid. It
can bereached via ImageJ/Plugins/Graphics.

On Tue, Jun 28, 2011 at 2:04 PM, John Oreopoulos <
[hidden email]> wrote:

> Hello,
>
> I'm wondering if anyone has created a "live line profile plugin", similar
> to Bob Dougherty Live Histogram plugin. I'd like to draw a line on one frame
> of a stack and plot the profile in a graph. Then as I scroll through the
> stack, I'd like to see the updated line profile on the graph in real time
> (just like the live histogram). Does such a plugin exist already?
>
> Much thanks,
>
> John Oreopoulos
>
Reply | Threaded
Open this post in threaded view
|

Re: Live line profile plugin?

Sebastian Rhode-3
In reply to this post by John Oreopoulos
Hi,

since I was not aware of the Dynamic Line Profile from ImageJ I wrote a macro, which does the same (not perfect). Feel free to use it.

Cheers, Sebi

// Author: Sebastian Rhode
// Version 1.1
// Date: 2011-06-21

// ------------ IMPORTANT ------------
//
// close "Log" window to end the macro
//
// ------------ IMPORTANT ------------
//
// - only works of one line profile
// - only works for timelapse OR z-stacks

// select window and get dimensions
title_orig = getTitle();
selectWindow(title_orig);
getDimensions(w,h,ch,sl,fr);

// get line coordinates and clear selection for checking overall min/max values
getSelectionCoordinates(xlc, ylc);
run("Select None");

// check dimensions
if (sl == 1 &&amp; fr >= 1)
        dim = fr; // --> time lapse data
if (sl >= 1 &&amp; fr == 1)
        dim = sl; // --> z-stack data

// check min & max of line profile for whole stack for scaling issues
minLine = 0;
maxLine = 0;
minLine_tmp = 0;
maxLine_tmp = 0;
for (i=1; i<=dim; i++) {
        // set current slice
        setSlice(i);
        getStatistics(area, mean, min_tmp, max_tmp);
        print(min_tmp,max_tmp);
        if (min_tmp < minLine)
                minLine = min_tmp;
        if (max_tmp > maxLine)
                maxLine = max_tmp;
}

// restore line selection
selectWindow(title_orig);
makeLine(xlc[0],ylc[0],xlc[1],ylc[1]);

// output for used keys and buttons
shift=1;
ctrl=2;
rightButton=4;
alt=8;
leftButton=16;
insideROI = 32; // requires 1.42i or later

x2=-1; y2=-1; z2=-1; flags2=-1;
logOpened = false;

while (!logOpened || isOpen("Log")) {
        getCursorLoc(x, y, z, flags);
        if (x!=x2 || y!=y2 || z!=z2 || flags!=flags2) {
                s = " ";
                if (flags&leftButton!=0) s = s + "<left>";
                if (flags&rightButton!=0) s = s + "<right>";
                if (flags&shift!=0) s = s + "<shift>";
                if (flags&ctrl!=0) s = s + "<ctrl> ";
                if (flags&alt!=0) s = s + "<alt>";
                if (flags&insideROI!=0) s = s + "<inside>";
                print(x+" "+y+" "+z+" "+flags + "" + s);
                logOpened = true;
                //startTime = getTime();
                profile = getProfile();
                //wait(10);      
        }
                x2=x; y2=y; z2=z; flags2=flags;
                //wait(10);
        // get profile and do the plotting
        profile = getProfile();
        Plot.create("Profile", "Line Coordinate", "Value", profile);
        Plot.setLimits(0, profile.length, minLine*0.98, maxLine*1.02);
        Plot.addText("Frame / Slice : "+z+1, 0.05, 0.2);
        Plot.setLineWidth(2);
        Plot.update();
}

// determine minimum of array
function getMin(a) {
      min=a[0];
      for (i=0;i<a.length;i++) {min=minOf(min,a[i]);}
      return min;
// determine maximum of array
function getMax(a) {
      max=a[0];
      for (i=0;i<a.length;i++) {max=maxOf(max,a[i]);}
      return max;