Real-Time Ultrasound Image Analysis for the Insight Toolkit

Please use this identifier to cite or link to this publication:
We have successfully created a software environment in which ultrasound data can be manipulated by, ITK (the Insight Tool-Kit), in real-time. We were able to access each frame generated within the resident computer of a TerasonTM Ultrasound Machine, convert it into the ITK image format, and demonstrate the concurrent operation of ITK on the same computer by writing the images to an external hard drive. At a rate of 10 frames per second, 512 by 512 pixel grayscale frames were written by ITK methods to the external hard drive through USB 2.0 while the ultrasound scan was occurring without thrashing or delay in system performance. This simple exercise demonstrates the potential of ITK in processing ultrasound images in real-time in addition to the more traditional off-line processing.
minus 1 File (29Kb)
There is no code review at this time.

minus Interesting by Julien Jomier on 09-15-2005 for revision #1
starstarstarstarstar expertise: 5 sensitivity: 4.7
This paper presents a combination of ITK and an Ultrasound device to perform real-time ultrasound acquisition.


It is not clear to me why the authors are testing writing on USB drive for real-time application.
Writing into memory might be more useful.
However, the paper is well written and well presented.

Open Science:
The authors make use of ITK and provide the source code in the paper.

I did not reproduce the results in the paper: an ultrasound system is needed.

Use of Open Source Software:
The authors used the Insight Toolkit (ITK). The other third-party libraries are private.

Open Source Contributions:
The source code was provided only as written in the paper.

Code Quality:
The code looks good and is using ITK. However this opinion is based only on the code presented on the paper.
Moreover, the code shouldn't be portable since it is using COM object only defined on specific platforms.

Applicability to other problems:
The code might be applied to other real-time imaging devices.

Suggestions for future work:
The authors should detail the paper more and state the needs in the clinic. What is the lowest refresh rate a clinician wants to see?
Testing ITK speed to read/write onto memory and apply filters for real-time Utrasound would be nice.

Requests for additional information from authors:
The paper should state the refresh rate of the US.
The type of disk (rpms) should be also stated.
The list of references is short. Some links to the Ultrasound device and related info would be a plus.

Additional Comments:
The list of areas in medicine is very long...
Specifying that COM = Component Object Model would be a plus for those non familiar with Windows design.
The type of file to be written should be stated in the paper
minus Needs further development to properly evaluated by David Holmes on 08-16-2005 for revision #1
starstarstarstarstar expertise: 3 sensitivity: 4.7
The authors describe the initial effort in capturing ultrasound images from a commercially available US system (Terason, Inc). The effort includes the combination of ITK and a proprietary Windows COM object to extract the image data.

Not Applicable.

Unclear -- this work appears to just be getting off of the ground.

Open Science:
Difficult to comment on given that the project appears to just be getting off of the ground.

The entire code is not available. However, given that the application requires access to specific hardware and proprietary software, the inclusion of code would be for demonstration purposes (which would be valuable).

Use of Open Source Software:
It seems that the authors used OSS as much as possible.

Open Source Contributions:
Refer to the Reproducibility comments.

Code Quality:
Not Applicable

Applicability to other problems:
This is difficult to asses, so I can only speculate. This may be applicable in a general sense if it provides a framework for other researchers to capture data into ITK processes using standard windows programming methods. It is unclear if there is enough generality. Second, if the hardware is widely used, different researchers may be able to use this to development independant processing methods.

Suggestions for future work :
The work must be extended to meet the expectations of the title.

Requests for additional information from authors :
See comments below

Additional Comments:
While I can appreciate the need for real-time ultrasound image analysis, I don't think that this paper meets the expectations. There is no image analysis in the paper and the real-time aspects are only touched upon. Instead, the authors describe image data capture and storage. Data capture and storage is challenging. The particular type of storage and file format can dramatically affect the speed of storage. Moreoever, the use of ITK for storage may also entail overhead which would affect performace (although I have not tested this). Also, the need for an intermediate step of OpenGL viewing seems peripheral if the main goal is only storage for offline analysis.
minus Review by Luis Ibanez on 08-10-2005 for revision #1
starstarstarstarstar expertise: 5 sensitivity: 4.3
This paper describes the use of the Open Source software, the Insight Toolkit (ITK), for supporting a real-time system for processing ultrasound images at real-time, about 10 to 20 frames per second.

The point of the paper is to demonstrate that Open Source software is efficient enough for processing images at real-time rates, in this particular case at 10 frames per second.

The authors developed a system that interfaces with an ultrasound probe (Terason), grabs images by using a clever trick through a copy of an OpenGL texture into memory, and then save the input images into files. The authors experimented by writing to a hard drive and to an external drive connected through a USB 2.0 port. Their observations indicate that 20 frames per second was to high of a rate for the system to sustain, while a rate of 10 frames per second was suitable for saving the images into disk and simultaneously displaying them using OpenGL.

Open Science:
The paper does not fully adhere to the practice of Open Science, because the content of the paper cannot be fully reproduced due to two reasons

  • The work relies on the use of a particular hardware and software, the Terason Ultra-Sound probe.
  • The source code was not provided

The paper is still a valuable contribution, since it let other developers know that Open Source is efficient enough for being used in real-time systems.

The exact work reported in the paper can not be reproduced by this reviewer due to lack of access to an Ultrasound probe and to the author's source code. However the reviewer could verify the performance claims made in this paper, by running similar processing and checking the time required to write images on disk.

This verication was done by using as source code a modification of the example:


The pixel type in this code was changed from "unsigned short" to "unsigned char".

In this file, the try/catch block that invokes the writer->Update() method was put inside a for() loop from 0 to <100, and an itk::TimeProbe was added to Start() before the loop and to Stop() just after the loop. This test was set to write the image in a directory located in an external drive Maxtor "OneTouch", 120Gb, connected using a USB 2.0, through a USB hub of four ports. The code was run from a laptop DELL Latitude D810, with a Pentium M 750 at 1.86 GHz, running Windows XP. The code was compiled with Visual Studio .NET 2003, in Release mode.

The test used as input image the classical Lena at 512 x 512 from

Writing this image 100 times in PNG format, in the USB 2.0 external drive took the following times (in seconds)

Test 1 = 18.672
Test 2 = 17.718
Test 3 = 17.609
Test 4 = 18.453
Test 5 = 18.015

That is an average of 5.52 image per second.

When a JPEG format was used for writing, with the default compression of the JPEG ImageIO writer in ITK ,
the times (in seconds) became:

Test 1 = 8.734
Test 2 = 8.906
Test 3 = 8.735
Test 4 = 8.531
Test 5 = 9.062

That is an average of 11.37 images per second.

When using a MetaImage format, which is composed of a header file and an uncompressed raw binary file,
the times became:

Test 1 = 4.406
Test 2 = 5.062
Test 3 = 5.312
Test 4 = 4.859
Test 5 = 5.453

That is an average of 19.92 images per second.

The authors do not mention the fileformat used for writing, but the values above indicate that the fileformat used for writing is a critical decision when performace is relevant to the writing process.

In any case, the reviewer verified that it is possible to write images of 8bits/pixel and 512 x 512 pixels into an external drive through a
USB 2.0 connection at rates of 10 to 20 images per second.

Writing in an internal hard hardrive of 60 Gb at 7200 RPM produced the following results, again for writing 100 images:

PNG format in seconds

Time 1 = 9.234
Time 2 = 9.718
Time 3 = 9.235
Time 4 = 9.156
Time 5 = 9.125

That is an average of 10.76 images per second.

JPEG file format in seconds

Time 1 = 3.750
Time 2 = 3.812
Time 3 = 3.641
Time 4 = 3.625
Time 5 = 3.531

That is an average of 27.23 images per second

MetaImage Format in seconds

Time 1 = 1.437
Time 2 = 1.015
Time 3 = 2.734
Time 4 = 1.312
Time 5 = 2.171

That is an average of 57.67 images per second, however, note the larger variability on the times.

Use of Open Source Software:

The authors used the Insight Toolkit (ITK) which is an Open Source package for segmentation and registration of medical images.

Open Source Contributions:

The authors do not provided their source code along with the paper.
Only code snippets are included in the text of the paper.

Code Quality:

Not applicable.

Applicability to other problems:

The experiment perfomed by the authors is relevant in other image modalities. In particular for image guided surgery suported by fluoroscopic images, where having real time feedback is crucial for guiding the actions of the clinician.

Suggestions for future work :

The main question that comes to mind is how much actual image processing can be performed at the rates of 10 to 20 frames per second. For example, tracking of objects. It is worth to continue profiling different image analysis methods in the context of real-time systems. Such an effort will foster the improvement of the Open Source software available to the community.

Requests for additional information from authors :

Please let us know what image file format did you use in your experiments.

Additional Comments:
Add a new review
Quick Comments

Download All

Statistics more
Global rating: starstarstarstarstar
Review rating: starstarstarstarstar [review]
Code rating:
Paper Quality: plus minus

Information more
Keywords: Ultrasound, Image Analysis, Real Time, Terasonn
Export citation:


Linked Publications more
An Open Source, Fast Ultrasound B-Mode Implementation for Commodity Hardware An Open Source, Fast Ultrasound B-Mode Implementation for Commodity Hardware
by McCormick M.
Reproducible Research Training at Scipy 2014 Reproducible Research Training at Scipy 2014
by Ibanez L., McCormick M., Fillon J., Chaudri A., Nelson A., Smith S.

View license
Loading license...

Send a message to the author
Powered by Midas