[Insight-users] multi-feature classification...

Luis Ibanez luis.ibanez at kitware.com
Tue Jul 12 10:14:18 EDT 2005



Hi Kostas,


Thanks for clarifying the error that you actually get.


What version of ITK are you using ?




The current CVS version has instantiations of the
vnl_matrix_fixed for dimensions from 3 to 12.


The problem here is that VNL (the package that ITK
uses as mathematical library) uses explicit instantiation,
therefore all the types that you anticipate to use must
be explicitly declared.

This is done with files in the directory:


               Insight/Code/Common

such as:

           vnl_c_vector+short-.cxx
           vnl_c_vector+ushort-.cxx
           vnl_matrix+short-.cxx
           vnl_matrix+ushort-.cxx
           vnl_matrix_fixed+double.3.12-.cxx
           vnl_matrix_fixed_ref+double.2.2-.cxx
           vnl_matrix_fixed_ref+double.2.3-.cxx
           vnl_matrix_fixed_ref+double.3.12-.cxx
           vnl_matrix_fixed_ref+double.4.3-.cxx
           vnl_matrix_fixed_ref+double.4.4-.cxx
           vnl_vector+short-.cxx
           vnl_vector+ushort-.cxx




  Please let us know about your ITK version,



       Thanks



          Luis



-------------------------------
rap at image.ece.ntua.gr wrote:

> Dear Luis,
> 
> thanks for the response. I've already read throug the Statistics chapter and i
> think that i've tried to change the 1D vector to a 5D FixedArray. In fact, the
> problem is that when i am declaring the FixedArray<double,5> i get the
> following LINKER error:
> 
> void __thiscall vnl_matrix_fixed<double,5,5>::fill(double)"
> (?fill@?$vnl_matrix_fixed at N$04$04@@QAEXN at Z)
> 
> I would appreciate any help....
> 
> Kind regards,
> Kostas
> 
> 
> Luis Ibanez <luis.ibanez at kitware.com> said:
> 
> 
>>
>>Hi Kostas,
>>
>>
>>Please read the ITK Software Guide
>>
>>    http://www.itk.org/ItkSoftwareGuide.pdf
>>
>>in particular the Statistics Chapter.
>>
>>
>>--
>>
>>You will find that the Statistics framework in ITK has
>>been designed from the base to manage multi-feature
>>statistics.
>>
>>You simply need to represent your 5D data as
>>FixedArray<double,5> and use this type as template
>>argument of the itk::Sample class.
>>
>>
>>All of this will be clear once you read the chapter of
>>the ITK Software Guide.
>>
>>
>>Please let us know if you have any further questions,
>>
>>
>>
>>    Thanks
>>
>>
>>      Luis
>>
>>
>>
>>------------------------------
>>Kostas Rapantzikos wrote:
>>
>>
>>>Hallo to everyone,
>>> 
>>>i am new to ITK, so please forgive me for the simple question.
>>> 
>>>I want to implement a maximum likelihood classifier. The feature vector 
>>>is 5-dimensional, which means that i have 5 values for a single pixel 
>>>(image classification). Although i have read the examples 
>>>(ExpectationMaximizationMixtureModelEstimator) with the two 1D 
>>>Gaussians, i haven't been able to feed the classifier in the correct 
>>>way. What's the right way to represent the input data? How are the 
>>>measurement vectors suppose to be filled? What i actually need is the 
>>>correct way to change the following lines (acquired from ITK example), 
>>>in order to obtain a classification on a 5x18432 (features X #pixels) 
>>>input matrix.
>>> 
>>>  typedef itk::Vector< double, 1 > MeasurementVectorType;
>>>  typedef itk::Statistics::ListSample< MeasurementVectorType > SampleType;
>>>  SampleType::Pointer sample = SampleType::New();
>>> 
>>>Thanks in advance,
>>>Kostas
>>>
>>>
>>>------------------------------------------------------------------------
>>>
>>>_______________________________________________
>>>Insight-users mailing list
>>>Insight-users at itk.org
>>>http://www.itk.org/mailman/listinfo/insight-users
>>
>>
>>
>>
> 
> 
> 





More information about the Insight-users mailing list