Quantcast

Stitching plugin - significantly enhanced

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Stitching plugin - significantly enhanced

Stephan Preibisch
Hi everybody,

just to summarize the new features of the Stitching in once sentence:
You can now reconstruct arbitrarily sized, tiled acquisitions (which can be multi-channel, time-lapse stacks) with just very little RAM (even <1GB) if you activate the options to write the result directly to disk and/or open the input stacks only virtually!!

Here is a list of all new highlights:

- supports composite images and hyperstacks now (arbitrary amount of channels and time-points)
- can optionally write the stitched image slice-by-slice directly to disk (significantly reduces the RAM requirements)
- can optionally open the input images as Virtual Stacks (significantly reduces the RAM requirements)
- supports timelapse alignment with different stitching options
- subpixel-resolution
- supports many different types of grids (row-by-row, column-by-column, snake, ...)
- can read the approximate tile positions from the image metadata
- finally based on ImgLib

There are only two plugins left, they replace the Stitching2D/3D and the Stitch Grid, ... Sequence, ... Collection and so on. They are called:

Stitching -> Pairwise Stitching
Stitching -> Grid/Collection Stitching

You will find a complete documentation on the Fiji wiki:
http://fiji.sc/wiki/index.php/Image_Stitching

The Stitching is deployed as a component of Fiji (simply update Fiji) or you can download it for ImageJ as a stand-alone package which includes all necessary libraries (11MB):
http://fly.mpi-cbg.de/~preibisch/software.html#Stitching

I thank all the authors of the libraries and other people who helped me with the Stitching: http://fiji.sc/wiki/index.php/Image_Stitching#Download_for_ImageJ_.26_Acknowledgements

Last but not least, it would be really nice if you could cite the publication that is associated with the plugin, please find the citation below.
If you have questions, comments, problems or anything else you want to tell me do not hesitate!

Have a great day,
Stephan Preibisch

Stephan Preibisch, Stephan Saalfeld and Pavel Tomancak (2009)
Globally Optimal Stitching of Tiled 3D Microscopic Image Acquisitions
Bioinformatics 2009, 25(11), 1463-1465.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [fiji-devel] Stitching plugin - significantly enhanced

Curtis Rueden
Hi Stephan,

You can now reconstruct arbitrarily sized, tiled acquisitions (which can be
> multi-channel, time-lapse stacks) with just very little RAM (even <1GB) if
> you activate the options to write the result directly to disk and/or open
> the input stacks only virtually!!
>

Thank you very much for this awesome suite of plugins. Several scientists
here at LOCI are now using it, and your latest improvements are very timely
for us, since we are collecting larger and larger datasets now.

We really appreciate all of your hard work!

Regards,
Curtis


On Thu, Jan 19, 2012 at 2:19 PM, Stephan Preibisch <[hidden email]>wrote:

> Hi everybody,
>
> just to summarize the new features of the Stitching in once sentence:
> You can now reconstruct arbitrarily sized, tiled acquisitions (which can
> be multi-channel, time-lapse stacks) with just very little RAM (even <1GB)
> if you activate the options to write the result directly to disk and/or
> open the input stacks only virtually!!
>
> Here is a list of all new highlights:
>
> - supports composite images and hyperstacks now (arbitrary amount of
> channels and time-points)
> - can optionally write the stitched image slice-by-slice directly to disk
> (significantly reduces the RAM requirements)
> - can optionally open the input images as Virtual Stacks (significantly
> reduces the RAM requirements)
> - supports timelapse alignment with different stitching options
> - subpixel-resolution
> - supports many different types of grids (row-by-row, column-by-column,
> snake, ...)
> - can read the approximate tile positions from the image metadata
> - finally based on ImgLib
>
> There are only two plugins left, they replace the Stitching2D/3D and the
> Stitch Grid, ... Sequence, ... Collection and so on. They are called:
>
> Stitching -> Pairwise Stitching
> Stitching -> Grid/Collection Stitching
>
> You will find a complete documentation on the Fiji wiki:
> http://fiji.sc/wiki/index.php/Image_Stitching
>
> The Stitching is deployed as a component of Fiji (simply update Fiji) or
> you can download it for ImageJ as a stand-alone package which includes all
> necessary libraries (11MB):
> http://fly.mpi-cbg.de/~preibisch/software.html#Stitching
>
> I thank all the authors of the libraries and other people who helped me
> with the Stitching:
> http://fiji.sc/wiki/index.php/Image_Stitching#Download_for_ImageJ_.26_Acknowledgements
>
> Last but not least, it would be really nice if you could cite the
> publication that is associated with the plugin, please find the citation
> below.
> If you have questions, comments, problems or anything else you want to
> tell me do not hesitate!
>
> Have a great day,
> Stephan Preibisch
>
> Stephan Preibisch, Stephan Saalfeld and Pavel Tomancak (2009)
> Globally Optimal Stitching of Tiled 3D Microscopic Image Acquisitions
> Bioinformatics 2009, 25(11), 1463-1465.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Fiji-devel" group.
> To post to this group, send email to [hidden email].
> To unsubscribe from this group, send email to
> [hidden email].
> For more options, visit this group at
> http://groups.google.com/group/fiji-devel?hl=en.
>
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Stitching plugin - significantly enhanced

Rob van 't Hof
In reply to this post by Stephan Preibisch
Dear Stephan,

First of all, thanks very much, we use your stitching plugin quite a
lot, and the new snake-wise stitching matches much closer what we do
while taking images with our (manual) microscopes.
However, I ran across a little problem while recording a macro. Although
the directory with images looks OK in the recorded line of the macro, an
error appears where a number of file separator characters (backslashes)
have disappeared, leading to an IO error.

line in macro:

run("Grid/Collection stitching", "type=[Grid: snake by rows]
grid_order=[Right & Down                ] grid_size_x=3 grid_size_y=3
tile_overlap=20 first_file_index_i=1 directory=[G:\osteologic
stained\Exp3\done] file_names=HOM1-{i}.tif
output_textfile_name=TileConfiguration.txt fusion_method=[Linear
Blending] regression_threshold=0.30 max/avg_displacement_threshold=2.50
absolute_displacement_threshold=3.50 compute_overlap subpixel_accuracy
computation_parameters=[Save computation time (but use more RAM)]
image_output=[Fuse and display]");

error message in log window:

Cannot open file 'G:osteologic stainedExp3done\HOM1-1.tif':
java.io.FileNotFoundException: G:\osteologic stainedExp3done\HOM1-1.tif
(The system cannot find the path specified)
Could not initialise stitching.


I'm running this on 64-bit Windows 7 (using Fiji).
Could this be due to a difference character used as file separator
between Windows/Linux/Mac?

best wishes,

Rob van 't Hof
Institute of Genetics and Molecular Medicine
University of Edinburgh
UK

On 19/01/2012 20:19, Stephan Preibisch wrote:

> Hi everybody,
>
> just to summarize the new features of the Stitching in once sentence:
> You can now reconstruct arbitrarily sized, tiled acquisitions (which can be multi-channel, time-lapse stacks) with just very little RAM (even<1GB) if you activate the options to write the result directly to disk and/or open the input stacks only virtually!!
>
> Here is a list of all new highlights:
>
> - supports composite images and hyperstacks now (arbitrary amount of channels and time-points)
> - can optionally write the stitched image slice-by-slice directly to disk (significantly reduces the RAM requirements)
> - can optionally open the input images as Virtual Stacks (significantly reduces the RAM requirements)
> - supports timelapse alignment with different stitching options
> - subpixel-resolution
> - supports many different types of grids (row-by-row, column-by-column, snake, ...)
> - can read the approximate tile positions from the image metadata
> - finally based on ImgLib
>
> There are only two plugins left, they replace the Stitching2D/3D and the Stitch Grid, ... Sequence, ... Collection and so on. They are called:
>
> Stitching ->  Pairwise Stitching
> Stitching ->  Grid/Collection Stitching
>
> You will find a complete documentation on the Fiji wiki:
> http://fiji.sc/wiki/index.php/Image_Stitching
>
> The Stitching is deployed as a component of Fiji (simply update Fiji) or you can download it for ImageJ as a stand-alone package which includes all necessary libraries (11MB):
> http://fly.mpi-cbg.de/~preibisch/software.html#Stitching
>
> I thank all the authors of the libraries and other people who helped me with the Stitching: http://fiji.sc/wiki/index.php/Image_Stitching#Download_for_ImageJ_.26_Acknowledgements
>
> Last but not least, it would be really nice if you could cite the publication that is associated with the plugin, please find the citation below.
> If you have questions, comments, problems or anything else you want to tell me do not hesitate!
>
> Have a great day,
> Stephan Preibisch
>
> Stephan Preibisch, Stephan Saalfeld and Pavel Tomancak (2009)
> Globally Optimal Stitching of Tiled 3D Microscopic Image Acquisitions
> Bioinformatics 2009, 25(11), 1463-1465.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Stitching plugin - significantly enhanced

dscho
Dear Rob,

On Thu, 19 Jan 2012, Rob van 't Hof wrote:

> run("Grid/Collection stitching", "type=[Grid: snake by rows] grid_order=[Right
> & Down                ] grid_size_x=3 grid_size_y=3 tile_overlap=20
> first_file_index_i=1 directory=[G:\osteologic stained\Exp3\done]
> file_names=HOM1-{i}.tif output_textfile_name=TileConfiguration.txt
> fusion_method=[Linear Blending] regression_threshold=0.30
> max/avg_displacement_threshold=2.50 absolute_displacement_threshold=3.50
> compute_overlap subpixel_accuracy computation_parameters=[Save computation
> time (but use more RAM)] image_output=[Fuse and display]");
>
> error message in log window:
>
> Cannot open file 'G:osteologic stainedExp3done\HOM1-1.tif':
> java.io.FileNotFoundException: G:\osteologic stainedExp3done\HOM1-1.tif (The
> system cannot find the path specified)
> Could not initialise stitching.

That is probably more a bug in IJ1's macro recorder... it is very easy to
reproduce: open any image, start the recorder and call Image>Rename... and
choose a name containing a backslash. It is recorded as a single
backslash, but inside a string in the macro language, backslashes are
special (so-called "escapes" to insert characters like new-lines or tabs)
so if you want to have a backslash character, you have to have _two_
backslashes (i.e. "\\") so that the macro interpreter knows that you
really wanted a backslash character.

Ciao,
Johannes

P.S.: Since the ImageJ mailing list strips the Cc: list we now lost all
interested parties which are _not_ subscribed to the ImageJ mailing list.
Sad.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Stitching plugin - significantly enhanced

Rob van 't Hof
Dear Johannes,
Thanks. that solved it. I didn't have this problem with the previous
version of the plugin though.
bye,
Rob


On 20/01/2012 00:00, Johannes Schindelin wrote:

> Dear Rob,
>
> On Thu, 19 Jan 2012, Rob van 't Hof wrote:
>
>> run("Grid/Collection stitching", "type=[Grid: snake by rows] grid_order=[Right
>> &  Down                ] grid_size_x=3 grid_size_y=3 tile_overlap=20
>> first_file_index_i=1 directory=[G:\osteologic stained\Exp3\done]
>> file_names=HOM1-{i}.tif output_textfile_name=TileConfiguration.txt
>> fusion_method=[Linear Blending] regression_threshold=0.30
>> max/avg_displacement_threshold=2.50 absolute_displacement_threshold=3.50
>> compute_overlap subpixel_accuracy computation_parameters=[Save computation
>> time (but use more RAM)] image_output=[Fuse and display]");
>>
>> error message in log window:
>>
>> Cannot open file 'G:osteologic stainedExp3done\HOM1-1.tif':
>> java.io.FileNotFoundException: G:\osteologic stainedExp3done\HOM1-1.tif (The
>> system cannot find the path specified)
>> Could not initialise stitching.
> That is probably more a bug in IJ1's macro recorder... it is very easy to
> reproduce: open any image, start the recorder and call Image>Rename... and
> choose a name containing a backslash. It is recorded as a single
> backslash, but inside a string in the macro language, backslashes are
> special (so-called "escapes" to insert characters like new-lines or tabs)
> so if you want to have a backslash character, you have to have _two_
> backslashes (i.e. "\\") so that the macro interpreter knows that you
> really wanted a backslash character.
>
> Ciao,
> Johannes
>
> P.S.: Since the ImageJ mailing list strips the Cc: list we now lost all
> interested parties which are _not_ subscribed to the ImageJ mailing list.
> Sad.
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [fiji-devel] Stitching plugin - significantly enhanced

Tom Kazimiers
In reply to this post by Stephan Preibisch
Hi Stephan,

thank you very much for the work on this plugin. It makes the stitching
of our data fast and robust. Up to now your plugin stitched more than
two TB of image data here :-).

On 19.01.2012 21:19, Stephan Preibisch wrote:

> just to summarize the new features of the Stitching in once sentence:
> You can now reconstruct arbitrarily sized, tiled acquisitions (which
> can be multi-channel, time-lapse stacks) with just very little RAM
> (even <1GB) if you activate the options to write the result directly
> to disk and/or open the input stacks only virtually!!
>
> Here is a list of all new highlights:
>
> - supports composite images and hyperstacks now (arbitrary amount of
> channels and time-points)
> - can optionally write the stitched image slice-by-slice directly to
> disk (significantly reduces the RAM requirements)
> - can optionally open the input images as Virtual Stacks
> (significantly reduces the RAM requirements)
> - supports timelapse alignment with different stitching options
> - subpixel-resolution
> - supports many different types of grids (row-by-row, column-
> by-column, snake, ...)
> - can read the approximate tile positions from the image metadata
> - finally based on ImgLib

A rather big stitching job that wrote the slices directly to disk just
finished. It would have not been possible to stitch that without your
changes and the hardware available (input data in total: about 90GB, RAM
available 128GB). There is of course a trade-off: time -- it took about
8 times as long. Anyway, better to wait than not being able to do it alt
all. Luckily most of the data sets are not that large :-). Thanks again
for that great tool!

Cheers,
Tom
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Stitching plugin - significantly enhanced

Karen Bakhshetyan
This post has NOT been accepted by the mailing list yet.
In reply to this post by Stephan Preibisch
Hi Stephan

Thanks for your great work and time!

I am trying to stitch a grid of 50x30 images each having 400x300 pixels, and there are a few problems/questions arising:

1. I first converted original bmp-s to jpegs, so now each file "weights" around 2-4kb and has acceptable quality. But the plugin seems to stall at "Fuse and display..." I tried a lot, even left it overnight, but still no result.

Smaller grids work fine though - I tried 50x4 for example.

I made bmp-s to tif-s, hoping that this will help but still no result.

The old version of plugin worked fine with large grids, it's just that it hadn't Snake Grid, so I got wrong placement on even rows :))

Any ideas to solve this issue?
I work on Windows7, core i5, 32 Bit, 3 GB RAM.

2. If I don't need the plugin to calculate overlaps - I sut need it to put the images side by side 50x30. So I put Tile Overlap = 0, and deactivated Compute Overlap and Subpixel Accuracy. Anything else I need to do , maybe with thresholds, to make it quicker?

Thanks

Karen Bakhshetyan
PhD student in Biophotonics
Universite Laval, Quebec, Canada
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Stitching plugin - significantly enhanced

preibischs
This post has NOT been accepted by the mailing list yet.
Hi Karen,

well, I am not sure what might have happened. 

1) You could send me the data (it seems reasonably sized) and I could try myself. I did not have such problems before ....

2) No, this seems right to do, does that work? I just tried, it does for me on a smaller grid...

Nice greetings,
Stephan

On Mar 23, 2012, at 10:48 , Karen Bakhshetyan [via ImageJ] wrote:

Hi Stephan

Thanks for your great work and time!

I am trying to stitch a grid of 50x30 images each having 400x300 pixels, and there are a few problems/questions arising:

1. I first converted original bmp-s to jpegs, so now each file "weights" around 2-4kb and has acceptable quality. But the plugin seems to stall at "Fuse and display..." I tried a lot, even left it overnight, but still no result.

Smaller grids work fine though - I tried 50x4 for example.

I made bmp-s to tif-s, hoping that this will help but still no result.

The old version of plugin worked fine with large grids, it's just that it hadn't Snake Grid, so I got wrong placement on even rows :))

Any ideas to solve this issue?
I work on Windows7, core i5, 32 Bit, 3 GB RAM.

2. If I don't need the plugin to calculate overlaps - I sut need it to put the images side by side 50x30. So I put Tile Overlap = 0, and deactivated Compute Overlap and Subpixel Accuracy. Anything else I need to do , maybe with thresholds, to make it quicker?

Thanks

Karen Bakhshetyan
PhD student in Biophotonics
Universite Laval, Quebec, Canada



If you reply to this email, your message will be added to the discussion below:
http://imagej.1557.n6.nabble.com/Stitching-plugin-significantly-enhanced-tp3882101p4648787.html
This email was sent by Karen Bakhshetyan (via Nabble)
To receive all replies by email, subscribe to this discussion

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Stitching plugin - significantly enhanced

Karen Bakhshetyan
This post has NOT been accepted by the mailing list yet.
Hi Stephan

First thanks a lot for your quick reply!

I tried on several PCs in our lab, but still the plugin doesn't seem to finish the task.

So I put in attachment the images - these are tiles x=50, y=29, 347x259 pixels each. The grid is Snake by rows, Order is Right&Down.

Thanks for your time!

Sincerely
Karen

On 23 March 2012 10:57, preibischs [via ImageJ] <[hidden email]> wrote:
Hi Karen,

well, I am not sure what might have happened. 

1) You could send me the data (it seems reasonably sized) and I could try myself. I did not have such problems before ....

2) No, this seems right to do, does that work? I just tried, it does for me on a smaller grid...

Nice greetings,
Stephan

On Mar 23, 2012, at 10:48 , Karen Bakhshetyan [via ImageJ] wrote:

Hi Stephan

Thanks for your great work and time!

I am trying to stitch a grid of 50x30 images each having 400x300 pixels, and there are a few problems/questions arising:

1. I first converted original bmp-s to jpegs, so now each file "weights" around 2-4kb and has acceptable quality. But the plugin seems to stall at "Fuse and display..." I tried a lot, even left it overnight, but still no result.

Smaller grids work fine though - I tried 50x4 for example.

I made bmp-s to tif-s, hoping that this will help but still no result.

The old version of plugin worked fine with large grids, it's just that it hadn't Snake Grid, so I got wrong placement on even rows :))

Any ideas to solve this issue?
I work on Windows7, core i5, 32 Bit, 3 GB RAM.

2. If I don't need the plugin to calculate overlaps - I sut need it to put the images side by side 50x30. So I put Tile Overlap = 0, and deactivated Compute Overlap and Subpixel Accuracy. Anything else I need to do , maybe with thresholds, to make it quicker?

Thanks

Karen Bakhshetyan
PhD student in Biophotonics
Universite Laval, Quebec, Canada



If you reply to this email, your message will be added to the discussion below:
http://imagej.1557.n6.nabble.com/Stitching-plugin-significantly-enhanced-tp3882101p4648787.html
This email was sent by Karen Bakhshetyan (via Nabble)
To receive all replies by email, subscribe to this discussion




If you reply to this email, your message will be added to the discussion below:
http://imagej.1557.n6.nabble.com/Stitching-plugin-significantly-enhanced-tp3882101p4648814.html
To unsubscribe from Stitching plugin - significantly enhanced, click here.
NAML


out.zip (20M) Download Attachment
Loading...