Virtual Nanoscopy: Ultra-high resolution electron microscopy with IIPImage

Case Study, Client, IIPMooViewer, Server No Comments
Guest Post by Frank Faas & Raimond Ravelli, Department of Molecular Cell Biology, Leiden University Medical Center

The Leiden University Medical Centre in The Netherlands conducts a wide range of scientific research ranging from pure fundamental medical research to applied clinical research. Recently, our group in the Department of Molecular Cell Biology, published a paper entitled Virtual nanoscopy: Generation of ultra-large high resolution electron microscopy maps in the Journal of Cell Biology about a pipeline to acquire, combine and visualize electron microscopy images as panoramas of virtually unlimited size. The technique, named Virtual Nanoscopy, can reveal large macromolecules, organelles, cells, tissue, up to entire animal cross-sections.

Virtual slide of a sagittal section of a Zebrafish, imaged at 1.6 nm/pixel resolution over an area of 1.5 x 0.6 mm2

As a proof of principle we have put online a 281 gigapixel ultrastructural map of a 5 days old zebrafish embryo, which is a commonly used vertebrate model organism. The virtual slide was recorded at 120 kV with a magnification at the detector plane of 9460. A total of 26,434 unbinned 4k × 4k images was collected with a FEI Eagle CCD camera (>8 s readout time full frame) in 4.5 d. The sample was maintained at −1 µm defocus throughout the whole data collection. The resulting slide of 1,461 × 604 µm2 in size consists of 921,600 × 380,928 pixels of 1.6 nm square each.

The image shows the cartilage in slate blue, the eye in sienna, the brain in forest green, the muscles in salmon pink, the liver in indian red, the intestine in dark khaki, the pancreas in plum, the pronephric duct in yellow, the olfactory pit in lime green and the yolk in turquoise. Other examples can be found in the data section of our website.

Virtual nanoscopy has changed the way electron microscopy is carried out in our laboratory. Instead of collecting just a snapshot of part of a cell, we now routinely collect entire cross-sections which provides a much better context of the observed phenomena. Afterwards the data can be browsed as if behind a microscope at nanometer scale, hence the name virtual nanoscopy.

To visualise these images on the web we use the IIPImage server in combination with IIPMooviewer, both of which we adapted slightly to our needs. The images are stored as TIFF tiled image pyramids using the BigTIFF extensions available in libtiff 4.0 with a tile size of 256×256 pixels.

We can only recommend IIPImage and greatly appreciate the quick feedback from the developers. Many thanks to the developers of IIPImage for sharing their creation with the world!

by Frank Faas & Raimond Ravelli, Department of Molecular Cell Biology, Leiden University Medical Center

Responsive Images using IIPImage

Protocol, Server No Comments

The proliferation of mobile devices has made responsive web design one of the hottest topics in web design. Modern web sites need to be usable on a large range of screen resolutions and sizes, from low resolution mobile devices to high resolution monitors. For page layout, various techniques based on fluid layouts, media-queries or combinations of these with HTML5 have been developed, which adapt layout to suit the available screen size.

Responsive Images

However, images themselves also need to adapt to the context, not just for maintaining layout, but also to reduce unnecessary bandwidth. The solve this, the concept of responsive images (or adaptive images) enables the browser to request an image at a size appropriate for the screen resolution. A number of possible solutions have been put forward via the W3C’s Responsive Images Community Group and elsewhere.

Read the rest…

IIPImage Analytics: IIPAnalyze 0.2 Released

Analytics, New Release No Comments

Version 0.2 of our analytics tool, IIPAnalyze is now available! This version adds user agent filtering as well as histograms showing user activity over time. The following histograms, for example, show how the frequency of tile requests made (by all users and only Firefox users) varies with time after the users first load the IIPImage viewer for our Marble Earth demo.

Frequency of Tile Requests over Time for Marble Earth by Firefox Users

Tile Request Frequency for Marble Earth by all Users over First 2 Minutes

It is also possible to just look at just one particular user and how their tile requests vary with time. This is the request pattern of a random IP address viewing the Marble Earth IIPImage demo showing the first minute or so of activity.

Tile Request Frequency for a Random IP address

See the analytics documentation page for more information and the list of options. You can download the latest stable release of IIPAnalyze from our download page or fork the latest development code from the iipanalyze github repository.

Thanks once again to Laurent Le Guen for the updated script.

IIPImage Server for Mac OS X

JPEG2000, Mac OS X, Server No Comments

A binary distribution is now available for Mac OS X users! Both Desktop and Server editions of recent releases include Apache by default, making installation of IIPImage very straightforward.

This binary has been statically compiled with libtiff4 (including BigTIFF support), libjpeg8 and libmemcached to enable users to have IIPImage up and running instantly without the need to install any extra dependencies. The LLVM compiler distributed as part of Xcode was used to generate an optimized 64bit binary. It’s been built and tested on Snow Leopard, but should work with Lion and older 64bit Intel versions versions.

Installation

Download IIPImage for Mac OS X :  iipsrv-0.9.9-OSX.zip

Open a terminal, navigate to the download folder (or wherever you downloaded it to), open the zip archive and enter this directory. For example:

cd Downloads ; unzip iipsrv-0.9.9-OSX.zip ; cd iipsrv-0.9.9-OSX

Mac OS X places CGI executables by default in /Library/WebServer/CGI-Executables/ so simply copy the executable to this location:

sudo cp iipsrv.fcgi /Library/WebServer/CGI-Executables/

Modify the iipsrv.conf configuration file (see the server documentation for details on available parameters) and copy this to the default location for 3rd party Apache modules configuration /etc/apache2/other/

sudo cp iipsrv.conf /etc/apache2/other/

The configuration file places the iipsrv log file in /var/log/ which requires the web server to have write permission. If you have modified this to point to somewhere like /tmp/ you may skip this step:

sudo touch /var/log/iipsrv.log ; sudo chown _www /var/log/iipsrv.log

All set! Now (re) start Apache!

sudo sudo apachectl restart

Open your web browser at http://localhost/fcgi-bin/iipsrv.fcgi. You should see the iipsrv info page. If not, check the iipsrv log file and Apache log files. Follow the troubleshooting guide if necessary.

JPEG2000

An experimental binary distribution, which includes JPEG2000 support via the Kakadu libraries is also available from the Old Maps Online site: iipsrv-0.9.9-j2k-OSX.zip. Install in exactly the same way as the standard version. Please note that this JPEG2000 enabled binary is strictly for non-commercial use only.

IIPImage Analytics

Analytics, Protocol, Server No Comments

We now have a basic analytics tool for IIPImage! IIPAnalyze allows you to analyze incoming IIP protocol image requests to the IIPImage server. It can tell you  which are the most viewed regions of a particular image and display histograms showing tile usage, globally or per resolution level. It can also output image hotspot image maps showing visually which regions  of a particular image are most viewed for any given resolution.

Marble Earth: Hotspot map at resolution 9 with gamma 0.8

It simply requires a web server log file from Apache, Lighttpd, Nginx, Tomcat or IIS in the widely used standard Common Log Format. It parses the contents of the log file and compiles a histogram of all requested tiles.

IIPAnalyze is a command line script written in Python and requires the Python Imaging Library in order to generate hotspot maps and (optionally) matplotlib if you want histogram plots.

See the analytics documentation page for more information and the list of options. You can download the latest stable release of IIPAnalyze from our download page or fork the latest development code from the iipanalyze github repository.

Many thanks to Laurent Le Guen, who wrote the script!

« Previous Entries Next Entries »

Flattr this




Donations appreciated Bookmark and Share
Get IIPImage at SourceForge.net. Fast, secure and Free Open Source software downloads