[Insight-users] Automatic Junction Detection IJ 324, compile errors

Oleksandr Dzyubak adzyubak at gmail.com
Thu Mar 26 19:55:07 EDT 2009


Thanks Luis,

I did 'diff'-ing on your correction vs mine. Well, I missed (long) -> 
(unsigned long) part.
Otherwise it's the same.

Well, as you said I ran the test:
dzyubak at debian-alex: /Images_Org$ time 
./itkJunctionDetectionFilter3DTest COWinput.mha COW_output.mha 
junctionspheres.vtp 2.0 3.0
and got nice result as expected.
On my laptop ( cat /proc/cpuinfo  model name: Intel(R) Pentium(R) M 
processor 1.73GHz )
the program spent time below.

real    65m8.260s
user    59m40.164s
sys    0m15.741s

Very good! I'll write a review right a way.

Quick question though. I am mostly working with the Analyze format images.
I know that is an additional headache but...

So if I just run the program as above but with the Analyze format images,
I am getting an "exception caught":

========================WARNING: In 
/mnt/Public/Root_BUILDS/Lenny/InsightToolkit_3_12/InsightToolkit-3.12.0/Code/IO/itkAnalyzeImageIO.cxx, 
line 1345
AnalyzeImageIO (0x86fb840): ERROR: Analyze 7.5 File Format Only Allows 
RPI, PIR, and RIP Orientation

ExceptionObject caught !

itk::ExceptionObject (0x86fb830)
Location: "void itk::AnalyzeImageIO::DefineHeaderObjectDataType()"
File: 
/mnt/Public/Root_BUILDS/Lenny/InsightToolkit_3_12/InsightToolkit-3.12.0/Code/IO/itkAnalyzeImageIO.cxx
Line: 630
Description: itk::ERROR: AnalyzeImageIO(0x86fb840): Pixel Type Unknown
==========================

On the other hand if I change the typedef to fit into the Analyze 
requirements,

  typedef itk::Image<unsigned short, 3>                       ImageType;
  typedef itk::ImageFileReader<ImageType>                     ReaderType;
  typedef itk::JunctionDetectionFilter<ImageType>             DetectorType;
 // typedef itk::ImageFileWriter<DetectorType::OutputImageType> WriterType;
 typedef itk::ImageFileWriter<ImageType>                    WriterType;

I am getting the compile error:

****************** Begin Error ***********

[100%] Building CXX object 
CMakeFiles/itkJunctionDetectionFilter3DTest.dir/itkJunctionDetectionFilter3DTest.o
/mnt/Public/Programs/ITK_Test/Skeletons/Automatic_Junction_Detection/Src/itkJunctionDetectionFilter3DTest.cxx: 
In function ‘int main(int, char**)’:
/mnt/Public/Programs/ITK_Test/Skeletons/Automatic_Junction_Detection/Src/itkJunctionDetectionFilter3DTest.cxx:83: 
error: no matching function for call to 
‘itk::ImageFileWriter<itk::Image<short unsigned int, 3u> 
 >::SetInput(itk::Image<short int, 3u>*)’
/usr/local/include/InsightToolkit/IO/itkImageFileWriter.txx:58: note: 
candidates are: void itk::ImageFileWriter<TInputImage>::SetInput(const 
TInputImage*) [with TInputImage = itk::Image<short unsigned int, 3u>]
make[2]: *** 
[CMakeFiles/itkJunctionDetectionFilter3DTest.dir/itkJunctionDetectionFilter3DTest.o] 
Error 1
make[1]: *** [CMakeFiles/itkJunctionDetectionFilter3DTest.dir/all] Error 2
make: *** [all] Error 2

****************** End Error ***********

Any solution for that?

Thanks,
Alex

Luis Ibanez wrote:
>
> Hi Oleksandr,
>
> I just finished reviewing this paper:
> http://www.insight-journal.org/browse/publication/324
>
> The code was missing a bunch of "typename" keywords,
> which is the usual problem of code developed in Windows
> with Visual Studio 6.0.
>
> Please find attached the .tgz file with the corrections
> required to compile it in GCC.  (gcc 4.3.2, GNU/Linux
> Ubuntu 8.10).
>
> Please give it a try at this modified code and let us
> know if you find any problem.
>
> Note that you should compile this code for Release,
> and allow it to run for at least 15min for the 2D
> case, for it to finish processing the image.
>
>
> BTW:  If you find the paper useful, please take the
>   time of contributing a review for it. In this way
>   we will be able to integrate this paper code into
>   ITK in the near future.
>
>
>
>   Regards,
>
>
>     Luis
>
>
>
> ---------------------------
> Oleksandr Dzyubak wrote:
>> Thanks Luis,
>>
>> You were right on that one. So we are getting close.
>> Now I am getting a family of errors as below concerning
>> the variable "was not declared in this scope"...
>>
>> ********* Errors begin ********
>> itkJunctionDetectionFilter.txx:78: error: expected `;' before 
>> ‘wallDister’
>> itkJunctionDetectionFilter.txx:79: error: ‘wallDister’ was not 
>> declared in this scope
>> .......
>> etc.
>> ********* Errors end ********
>>
>> Alex
>>



More information about the Insight-users mailing list