virtual stack api

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

virtual stack api

Thomas Boudier
Hi,

Thanks for the virtual stack integrated into "import image sequence",
that's very useful for handling big files. Is there any documentation
for using virtual stack ? I would like to get the info such as the array
of files. I can't see any info in the API nor in the browsable source
code. Thanks.

Thomas

--
/*****************************************************/
    Thomas Boudier, MCU Université Paris 6,
    UMR 7101 / IFR 83. Bat A 328, Jussieu.
    Tel : 01 44 27 35 78  Fax : 01 44 27 25 08
/****************************************************/
Reply | Threaded
Open this post in threaded view
|

Re: virtual stack api

Michael Schmid
Hi Thomas,

the Virtual Stack Opener was integrated in 1.38q, whereas the
online API and sourcecode are version 1.37 final.

You can either download the entire soucecode of the current
ImageJ version from
   rsb.info.nih.gov/ij/download/src/
(you will find class VirtualStack in FolderOpener.java)

or have look at the previously external code, it's probably not
very different:
   http://rsb.info.nih.gov/ij/plugins/virtual-opener.html

If I understand it correctly, the filename (without path) can
be obtained via
   public String getSliceLabel(int n)

Michael
________________________________________________________________

On 7 May 2007, at 14:58, Thomas Boudier wrote:

> Hi,
>
> Thanks for the virtual stack integrated into "import image  
> sequence", that's very useful for handling big files. Is there any  
> documentation for using virtual stack ? I would like to get the  
> info such as the array of files. I can't see any info in the API  
> nor in the browsable source code. Thanks.
>
> Thomas
Reply | Threaded
Open this post in threaded view
|

Re: virtual stack api

Thomas Boudier
Hi,

Thanks for your answer, it works fine, however I wonder if it would
possible to create directly a virtualstack object ?

Thomas


Michael Schmid a écrit :

> Hi Thomas,
>
> the Virtual Stack Opener was integrated in 1.38q, whereas the
> online API and sourcecode are version 1.37 final.
>
> You can either download the entire soucecode of the current
> ImageJ version from
>   rsb.info.nih.gov/ij/download/src/
> (you will find class VirtualStack in FolderOpener.java)
>
> or have look at the previously external code, it's probably not
> very different:
>   http://rsb.info.nih.gov/ij/plugins/virtual-opener.html
>
> If I understand it correctly, the filename (without path) can
> be obtained via
>   public String getSliceLabel(int n)
>
> Michael
> ________________________________________________________________
>
> On 7 May 2007, at 14:58, Thomas Boudier wrote:
>
>> Hi,
>>
>> Thanks for the virtual stack integrated into "import image sequence",
>> that's very useful for handling big files. Is there any documentation
>> for using virtual stack ? I would like to get the info such as the
>> array of files. I can't see any info in the API nor in the browsable
>> source code. Thanks.
>>
>> Thomas
>
>

--
/*****************************************************/
    Thomas Boudier, MCU Université Paris 6,
    UMR 7101 / IFR 83. Bat A 328, Jussieu.
    Tel : 01 44 27 35 78  Fax : 01 44 27 25 08
/****************************************************/
Reply | Threaded
Open this post in threaded view
|

Re: virtual stack api

pcloetens
Hello,
Is it correct that the Virtual Stack Opener only works for series of
images stored as individual files?
Is it possible to use something similar for a single file containing
several slices, such as a tomography volume?
Thanks,
Peter

On Wed, 2007-05-09 at 11:54 +0200, Thomas Boudier wrote:

> Hi,
>
> Thanks for your answer, it works fine, however I wonder if it would
> possible to create directly a virtualstack object ?
>
> Thomas
>
>
> Michael Schmid a écrit :
> > Hi Thomas,
> >
> > the Virtual Stack Opener was integrated in 1.38q, whereas the
> > online API and sourcecode are version 1.37 final.
> >
> > You can either download the entire soucecode of the current
> > ImageJ version from
> >   rsb.info.nih.gov/ij/download/src/
> > (you will find class VirtualStack in FolderOpener.java)
> >
> > or have look at the previously external code, it's probably not
> > very different:
> >   http://rsb.info.nih.gov/ij/plugins/virtual-opener.html
> >
> > If I understand it correctly, the filename (without path) can
> > be obtained via
> >   public String getSliceLabel(int n)
> >
> > Michael
> > ________________________________________________________________
> >
> > On 7 May 2007, at 14:58, Thomas Boudier wrote:
> >
> >> Hi,
> >>
> >> Thanks for the virtual stack integrated into "import image sequence",
> >> that's very useful for handling big files. Is there any documentation
> >> for using virtual stack ? I would like to get the info such as the
> >> array of files. I can't see any info in the API nor in the browsable
> >> source code. Thanks.
> >>
> >> Thomas
> >
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: virtual stack api

Wayne Rasband
In reply to this post by Thomas Boudier
You will be able to create VirtualStack objects in ImageJ 1.38r. The
VirtualStack class is now in the ij package and public. The source code
is at

      http://rsb.info.nih.gov/ij/source/ij/VirtualStack.java

and a preview of V1.38r is available at

     http://rsb.info.nih.gov/ij/ij.jar

-wayne

On May 9, 2007, at 5:54 AM, Thomas Boudier wrote:

> Hi,
>
> Thanks for your answer, it works fine, however I wonder if it would
> possible to create directly a virtualstack object ?
>
> Thomas
>
>
> Michael Schmid a écrit :
>> Hi Thomas,
>>
>> the Virtual Stack Opener was integrated in 1.38q, whereas the
>> online API and sourcecode are version 1.37 final.
>>
>> You can either download the entire soucecode of the current
>> ImageJ version from
>>   rsb.info.nih.gov/ij/download/src/
>> (you will find class VirtualStack in FolderOpener.java)
>>
>> or have look at the previously external code, it's probably not
>> very different:
>>   http://rsb.info.nih.gov/ij/plugins/virtual-opener.html
>>
>> If I understand it correctly, the filename (without path) can
>> be obtained via
>>   public String getSliceLabel(int n)
>>
>> Michael
>> ________________________________________________________________
>>
>> On 7 May 2007, at 14:58, Thomas Boudier wrote:
>>
>>> Hi,
>>>
>>> Thanks for the virtual stack integrated into "import image
>>> sequence", that's very useful for handling big files. Is there any
>>> documentation for using virtual stack ? I would like to get the info
>>> such as the array of files. I can't see any info in the API nor in
>>> the browsable source code. Thanks.
>>>
>>> Thomas
>>
>>
>
> --
> /*****************************************************/
>    Thomas Boudier, MCU Université Paris 6,
>    UMR 7101 / IFR 83. Bat A 328, Jussieu.
>    Tel : 01 44 27 35 78  Fax : 01 44 27 25 08
> /****************************************************/
>
Reply | Threaded
Open this post in threaded view
|

Re: virtual stack api

Jeff Brandenburg
Hi, Wayne --

As long as you're in there... :-)

Would you consider changing the private fields of ImageStack to be
"protected", instead?  This would make it a lot more practical to
implement subclasses that need to manipulate array size and slice
count, without doing a wholesale reimplementation.

I'm revisiting an earlier effort to implement some multi-threaded stack
operations for speed.  The getImageArray() method lets me add slices
out-of-order, but to create a stack with a large capacity, I'm still
stuck doing sequential addSlice() calls, which kind of hurts.  I've
created a modified version of ImageStack that addresses these issues,
but I'd be happier if I didn't have to monkey with ImageJ's internals
that much, or create a "subclass" that completely recapitulates the
parent class's internal fields and methods.

By the way, one of the changes I've made adds constructors that accept
a sliceCapacity argument, which is used in place of the INITIAL_SIZE
static field for initialization if specified.  This doesn't affect the
class semantics, it just gives the option to avoid the (admittedly
trivial) expense of doing log(capacity/25) reallocations and copies.  I
don't know if you'd want to consider adding these to ImageStack as
well, but I can vouch that they don't break any existing code, since no
existing code calls them. :-)

Thanks!

On May 9, 2007, at 9:40 AM, Wayne Rasband wrote:

> You will be able to create VirtualStack objects in ImageJ 1.38r. The
> VirtualStack class is now in the ij package and public. The source
> code is at
>
>      http://rsb.info.nih.gov/ij/source/ij/VirtualStack.java
>
> and a preview of V1.38r is available at
>
>     http://rsb.info.nih.gov/ij/ij.jar
--
        -jeffB (Jeff Brandenburg, Duke Center for In-Vivo Microscopy)
Reply | Threaded
Open this post in threaded view
|

Re: virtual stack api

Wayne Rasband
In reply to this post by pcloetens
> Is it correct that the Virtual Stack Opener only works for series of
> images stored as individual files?

That is correct.

> Is it possible to use something similar for a single file containing
> several slices, such as a tomography volume?

I added this line

   9. Add "Use Virtual Stack" option to the File>Import>Raw dialog box."

to the Planned Features list at
<http://rsb.info.nih.gov/ij/docs/to-do-list.html>.

-wayne
Reply | Threaded
Open this post in threaded view
|

Re: virtual stack api

Thomas Boudier
Hi Wayne,

Thanks for adding the virtual stack class into imageJ, I've made my own
virtual class with saving support, I will try to put it into the
virtualStack class.

Thomas


Wayne Rasband a écrit :

>> Is it correct that the Virtual Stack Opener only works for series of
>> images stored as individual files?
>
> That is correct.
>
>> Is it possible to use something similar for a single file containing
>> several slices, such as a tomography volume?
>
> I added this line
>
>   9. Add "Use Virtual Stack" option to the File>Import>Raw dialog box."
>
> to the Planned Features list at
> <http://rsb.info.nih.gov/ij/docs/to-do-list.html>.
>
> -wayne
>
>

--
/*****************************************************/
    Thomas Boudier, MCU Université Paris 6,
    UMR 7101 / IFR 83. Bat A 328, Jussieu.
    Tel : 01 44 27 35 78  Fax : 01 44 27 25 08
/****************************************************/