ITK/Examples/Statistics/ListSample

From KitwarePublic
< ITK‎ | Examples
Revision as of 17:49, 20 November 2010 by Daviddoria (talk | contribs)
Jump to navigationJump to search

ListSample is the class to hold "measurements" for most of the Statistics classes.

ListSample.cxx

<source lang="cpp">

  1. include "itkListSample.h"
  2. include "itkVector.h"

int main(int, char *[]) {

 typedef itk::Vector<float, 3> MeasurementVectorType;
 typedef itk::Statistics::ListSample<MeasurementVectorType> SampleType;
 SampleType::Pointer sample = SampleType::New();
 MeasurementVectorType mv;
 mv[0] = 1.0;
 mv[1] = 2.0;
 mv[2] = 4.0;
 sample->PushBack(mv);
 sample->Resize(3);
 mv[0] = 2.0;
 mv[1] = 4.0;
 mv[2] = 5.0;
 sample->SetMeasurementVector(1, mv);
 mv[0] = 3.0;
 mv[1] = 8.0;
 mv[2] = 6.0;
 sample->SetMeasurementVector(2, mv);
 for(unsigned long i = 0; i < sample->Size(); ++i)
   {
   std::cout << "id = " << i
             << "\t measurement vector = "
             << sample->GetMeasurementVector(i)
             << "\t frequency = "
             << sample->GetFrequency(i)
             << std::endl;
   }
 SampleType::Iterator iter = sample->Begin();
 while( iter != sample->End() )
   {
   std::cout << "id = " << iter.GetInstanceIdentifier()
             << "\t measurement vector = "
             << iter.GetMeasurementVector()
             << "\t frequency = "
             << iter.GetFrequency()
             << std::endl;
   ++iter;
   }
 std::cout << "Size = " << sample->Size() << std::endl;
 std::cout << "Total frequency = "
           << sample->GetTotalFrequency() << std::endl;
 
 return EXIT_SUCCESS;

} </source>

CMakeLists.txt

<source lang="cmake"> cmake_minimum_required(VERSION 2.6)

PROJECT(ListSample)

FIND_PACKAGE(ITK REQUIRED) INCLUDE(${ITK_USE_FILE})

ADD_EXECUTABLE(ListSample ListSample.cxx) TARGET_LINK_LIBRARIES(ListSample ITKBasicFilters ITKCommon ITKIO)

</source>