Friday, December 21, 2012
Learning Tomography: Direct Fourier Reconstruction
After the back-projection [Link] and iterative [Link] methods, the Direct Fourier Reconstruction technique allows to compute a reconstruction directly in frequency space.
>Here is an introduction of the principle of this algorithm.
Labels:
3D,
Fourier,
ImageJ,
javascript,
tomography
Monday, December 3, 2012
Drawing a Chessboard:Associative Arrays
The use of associative arrays in JavaScript allows to add some object-oriented capabilities in a classical procedural programming. Here is a small explanation through our classical Drawing a Chessboard example.
Learning Tomography: WBP 3D reconstruction
In this series Learning Tomography, I always work with 2D slice ... Here is an example of a 3D reconstruction calculated with the weighted (or filtered) back-projection algorithm. The input data correspond to the stack of sinograms (previously calculated here [Link]).
Thursday, November 29, 2012
Learning Tomography: Where are the sinograms?
In a tomographic project, 2D data are collected (from a specific device using X-rays, electrons, etc.) and must be used to compute a 3D-reconstruction. From the previous posts of the series Learning Tomography, the primary input data is the sinogram. However, where are they located in a 2D-data collection?
Tuesday, November 27, 2012
Drawing a Chessboard: Object-Oriented flavor
JavaScript is really interesting because it has some Object-Oriented capabilities. Here is a small explanation through our classical Drawing a Chessboard example.
Monday, November 19, 2012
Drawing a chessboard in JavaScript
Programming with ImageJ is really easy with the built-in macro language. However, for some more sophisticated scripts, it is - sometimes - interesting to access low-level functions only available in the ImageJ programming interface (I mean only available for Java programmers). For fast prototyping, a good alternative is the use of the JavaScript language.
Wednesday, November 14, 2012
Learning Tomography: Multiplicative ART
There are several variants of the Algebraic Reconstruction Techniques (ART): One of them is Multiplicative ART (MART) based on the same principle but the error is calculated as a ratio.
Wednesday, November 7, 2012
Learning Tomography: Adding Constraints
The computation time for iterative reconstruction techniques (IRT) is typically orders of magnitude longer than for Weighted (Filtered) Back-Projection algorithm [Link], however, IRT are powerful because during the iteration process, you are able to add constraints to enhance convergence.
Monday, November 5, 2012
Learning Tomography: ART (Part II)
After introducing the principle of ART according to Kaczmarz method in the last post [Link], it's time to implement it in ImageJ with JavaScript language...
Friday, October 26, 2012
Learning Tomography: ART (Part I)
Algebraic Reconstruction Techniques (ART) is another family of algorithms to compute reconstructions. Here is a first approach to understand the principle of these programs.
Thursday, September 27, 2012
Signed, Unsigned pixel values
Among the various image types proposed to import a gray-level image, even though you know the dynamic range of your image, you have to choose 'signed' or 'unsigned'...
Friday, September 21, 2012
RGB file: Packed or Planar?
Save RGB color images requires specific strategies - compared to the gray-level images - to store the three red, green, and blue values defining a pixel. Two main strategies exist: Packed and Planar.
Endianness
In this series of posts dedicated to image file, the endianness is one of the parameters available in the Import dialog box. What is this strange 'little-endian byte order'?
Thursday, September 20, 2012
Image File: TOC
Table of Contents of a series of posts dedicated to the image file.
When you saved an image - 2D array containing pixel values - in your hard disk, this array is converted into a new structure: the file...
Wednesday, September 12, 2012
Learning IJ scripting language: Part II
IJ Scripting Language - Part II: Table of Contents
In this series of posts, more programming techniques of the ImageJ scripting macro language are detailed...
Thursday, September 6, 2012
Learning Tomography: Angular coverage
After studying the impact of the number of projections [Link], it is time to explore the ins and outs of the angular coverage and its consequences on the quality of the reconstructed image.
Wednesday, September 5, 2012
Learning Tomography: How many projections?
Two parameters are crucial to compute a good reconstruction: the number of projections and the angular coverage. Through several examples, we'll see their impact on the reconstructed image.
Wednesday, August 29, 2012
Learning Tomography: TOC
Table of Contents of this series dedicated to tomography and to the various algorithms used to compute a reconstruction from a series of projections.
Learning Tomography: Managing Borders
Tuesday, August 28, 2012
Learning Tomography: Radon Transform
In the previous posts, I assume that the sinogram was already collected (or calculated) and we only focused on the process of reconstruction. Now, it is time to see how a sinogram can be computed from a given 2D slice (extracted from 3D data).
Monday, August 27, 2012
Learning Tomography: 2D reconstruction in action
Image Processing: Table of Contents
Image Processing: Table of Contents
To improve the navigation through CrazyBioComputing, this post groups all the tables of contents (TOC) of the various chapters I explore with ImageJ in the fields of image processing and analysis...
Labels:
ImageJ,
README,
TOC,
TOC of TOC
Wednesday, August 8, 2012
Learning Tomography: Weighted Back-Projection
In my last posts, we were able to compute a 2D-reconstruction from a series of 1D-projections ... but the result appears blurred. How can we fix this?
Labels:
3D,
ImageJ,
javascript,
tomography
Location:
Bordeaux, France
Friday, August 3, 2012
Learning Tomography: Improving our BackProj script
A small post to see how the IJ script can be improved to avoid the stack of intermediate back-projections which is very memory consuming.
Labels:
3D,
ImageJ,
javascript,
tomography
Location:
Bordeaux, France
Thursday, August 2, 2012
Learning Tomography: Simple Back-Projection
The simple back-projection is one of the most popular algorithm used to reconstruct an object from a series of projections. In this post, we'll study how to reconstruct a 2D image from 1D-projections.
Wednesday, May 23, 2012
Drawing a chessboard using Stack Tools
A really non optimized way for Drawing a Chessboard but a good opportunity to explore the functions available in Image > Stacks, specially those located in the submenu Stacks > Tools.
Wednesday, March 7, 2012
Creating a GL context
First post of this series dedicated to webGL and the visualization of macromolecules from atomic coordinates stored in Protein Data Bank (PDB).
Thursday, February 9, 2012
Morphological Dilation
Morphological dilation is the second basic operator in MM [see TOC] and the counterpart of the erosion [see post].
Wednesday, February 8, 2012
Drawing a chessboard from morphological dilation
A special Drawing a chessboard using morphological dilation to try different structuring elements and observe their influence on the starting dots (acting as seeds).
Monday, February 6, 2012
WebGL: Visualizing macromolecules
Table of contents
A new series of posts dedicated to WebGL and javascript in the context of macromolecules visualization.
ffmpeg: The video toolbox
ImageJ is rather limited to import various video formats. However, there is a very powerful toolbox for video conversions: ffmpeg.
For beginners, this tool seems rather intimidating to use because it's only available as a command line (there is no graphical user interface). In this post, I'll show you some of the options needed to convert any video...
Monday, January 30, 2012
Subscribe to:
Posts (Atom)