MantisBT - ITK
View Issue Details
0010456ITKpublic2010-03-24 17:542010-10-21 12:31
Roger Bramon 
Bradley Lowekamp 
normalmajoralways
closedfixed 
ITK-3-16 
 
0010456: Performance regression in itkImageSeriesReader::GenerateOutputInformation()
In http://www.itk.org/pipermail/insight-users/2010-March/035870.html [^] a discussion about a performance regression in itkImageSeriesReader is started. The problem seems to be in method

void ImageSeriesReader<TOutputImage>
::GenerateOutputInformation(void)

where the line:

for ( int i = 0; i != 2; ++i )

was changed to:

for ( int i = 0; i != numberOfFiles; ++i )

There are some tests in this mailing list thread and also some ideas in order to solve it.

Moreover, there is another performace regression issue when the codification of the DICOM data is Little Endian Implicit, but it will be discussed in another report issue.
No tags attached.
Issue History
2010-03-24 17:54Roger BramonNew Issue
2010-03-25 18:37Luis IbanezStatusnew => assigned
2010-03-25 18:37Luis IbanezAssigned To => Bradley Lowekamp
2010-03-29 08:20Bradley LowekampNote Added: 0020026
2010-03-29 10:59Bradley LowekampNote Added: 0020027
2010-04-01 08:26Bradley LowekampNote Added: 0020047
2010-04-01 08:26Bradley LowekampStatusassigned => resolved
2010-04-01 08:26Bradley LowekampResolutionopen => fixed
2010-10-21 12:31Gabe HartStatusresolved => closed

Notes
(0020026)
Bradley Lowekamp   
2010-03-29 08:20   
When support was added to ImageSeriesReader, it was determined that is would be best to update the MetaDataDictionaryArray during UpdateOutputInformation. This requires and additional visit of each file, while on many format this is reasonable efficient, for DICOM processing all of the tags has been shown to be too costly.

The solution is to return the update of the MDDA to the UpdateData methods, but and time stamps and flags to allow for efficient processing when streaming.
(0020027)
Bradley Lowekamp   
2010-03-29 10:59   
Committed patch:

http://public.kitware.com/cgi-bin/viewcvs.cgi/Code/IO/itkImageSeriesReader.h?root=Insight&r1=1.18&r2=1.19&sortby=date [^]

http://public.kitware.com/cgi-bin/viewcvs.cgi/Code/IO/itkImageSeriesReader.txx?root=Insight&r1=1.38&r2=1.39&sortby=date [^]
(0020047)
Bradley Lowekamp   
2010-04-01 08:26   
The patch appears to have fixed the issue