Idea: Gold Standards for Microscopy Data - Terminology
The idea of the list below is to introduce important cell science and microscope terms to programmers who may be new to the field.
If you have a background in computer science but are new to the world of microscopy and biological sciences, there are a number of terms you should be familiar with. In addition to learning these important terms and concepts: it's also important you use some of these terms (namely the ones shown as underlined) as variable names, so that your code can be easily read and understood by others.
NOTE: Increase the readability/understanding of code between groups is not the main focus, but definitely one of the sub-aims of the "Gold Standards for Microscopy Data" idea.
- Bold and underlined - an important concept and recommended variable and/or class name.
- Bold only - an important concept to know, but not recommended as a variable name
- For most people "image" file represents a 2D "bitmap image" such as a PNG file, but in microscopy "image" often refers to 3D image. The best image files also contain meta data to help track information such as pixel size, and the microscope use to obtain the data.
- Section traditionally describes a thin layer of material which is cut off or "sectioned" from a biological specimen. This "sectioning" process is typically done using a glass or diamond knife "microtome", so that it's a suitable thickness to image in an particular electron microscope and/or light microscope. In the process known as "serial sectioning", many adjacent/serial sections are cut thin (~50-70 nm), and each section imaged in 2D so that the 2D sections can then be later aligned and "reconstructed" into a 3D volume. Unfortunately, it's easy to confuse the word "section" and "slice"... a good tip is to remember sections comes from "sectioning" and a slice represents a two-dimensional/pixel thick "slice" through an image.
- Used to describe a 2D plane through a three dimensional volume. Typically "slice" refers to a slice in the XY plane, however it is possible to rotate the (3D) image to view a slice along XZ or YZ, or any arbitrary image.
- In the process known as "electron tomography", a series of 2D images called a "tilt series" is acquired by tilting a small specimen by small increments inside a "transmission electron microscope" and taking an image at each tilt. This tilt series is then aligned and then "back-projected" into 3D space (using a back-projection algorithm) to reconstruct a 3D density map called a "tomogram". Tomograms are typically stored as a series of "pixel thick" 2D slices along the Z axis, but while tomogram is a common word used by biologists/microscopists, it's not popular as a variable name, because tomography is just one of several methods which can be used to acquire a 3D volume.
- Tilt Series
- A series of 2D images taken of a specimen around a single axis of rotation. To aid in aligning a tilt series, tiny gold particles or "fiducial" are sometimes deposited even on both sides of a section, and semi-automatically tracked. In so called "dual axis tomography" two tilt series are collected using perpendicular tilt axis, and the "reconstructions" can be combined to improve overall quality.
- The process of "3D reconstruction" ("reconstruction for short") can be generalized as taking 2D images and turning them into a 3D volume. In the case of tomography, a tilt series is "reconstructed" using back projection, in the case of "serial sectioning", the reconstruction is made by simply aligning .
- "Montaging" is the technique of taking multiple microscope images in a mosaic/tile pattern, and then putting them together like overlapping tiles to form an image "montage". Montaging is typically achieved by creating a small overlap (~10%) between tiles and using automatic "cross-correlation" to align them.... however in cases where cross-correlation fails, a human may be need to manually align image tiles in software.
- While electron microscopes only measure intensity values, and are thus typically shown in grey scale, light microscope techniques can detect color, and in the case of fluorescent light microscopy, cells can be stained with "protein markers" that make them glow with several different colors. For such images, pixels/voxels should be stored with three "channels": red, green and blue, and good software should provide a way to quickly turn on and off these channels.
- In electron tomography (where specimens actually shrink in the direction of the beam!), in serial sectioning (where sections are cut several 50-70 nm thick) and also in several 3D light microscopy techniques the resolution/pixel size in Z is typically less than in X and Y. The "Z-scale" of a tomogram represents the factor by which a (3D) image must be stretched in Z in order to represent. Although many programs use the term "z scale"
- Pixel Size
- Pixel size represents the size of a pixel and thus should be comprised of both a number (as floating point number) and unit (as a string) - so that you can say: "the pixel size in XY is 1.2 nm. What's confusing is that not only is the "pixel size" in Z usually different (you have to multiple it by Z-Scale), but in some imaging techniques, the pixel size in X and Y might be different, hence we recommend most image files should store a separate pixel size for each axis to account for these rare cases.
- Resolution is not a great word to use by itself because of its ambiguity. When biologists talk about "resolution" they are often talking about "optical resolution", which is a tricky-to-measure indicator of image clarity and how far apart two objects/membranes must be for you to be able to see they are separate. This is different from "pixel size", different from "magnification", and "screen resolution" (the number of pixels on your computer screen) is something different again. For this reason we suggest you be aware of this ambiguity and avoid using "resolution" as a variable name.
- Microscope image files often get so large it becomes necessary to reduce their size in X and Y (and sometimes Z too). To "bin" an image down by b, (where b is an integer >=2), means to reduce the image by 2/2b in each dimension. In other words if you bin by 2 in XY, each set of 2x2 (4) pixels become 1, thus your effective file size reduces by 1/4. If you big by 4 in XY, each set of 4x4 (16) pixels becomes 1 pixel, thus your effective file size reduces by 1/16. If you bin by 4 in all dimension (XYZ) each 4x4x4 (64) voxels become one. Due to poorer "resolution" (great pixel size) in Z, binning is typically only done in X and Y, but whenever an image is binned it is important to keep track of how pixel size is affected. With such huge images being produced (many 3D images >10 GB) binning is becoming more essential and more groups are realizing the value of using "zoomified" or "hierarchal images". In such images, the image can be "pre-binned" in such a way that it in addition to the 2D slices at original resolution, it contains images which have been binned by 2, 3, 4, 5 and so on. The advantage of this is the software doesn't have to recompute the binning (which is quite time consuming for large data) each time it loads the same image.... and due to the fact the data is 1/4 of the size on each subsequent binning, the size of the total file should only be about 1.333 times the size of the original file.
- Object Type
- Minimum Bounding Rectangle (MBR)
(I might finish these later, if valuable)