[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