📄 itklistsampletest.cxx
字号:
/*=========================================================================
Program: Insight Segmentation & Registration Toolkit
Module: $RCSfile: itkListSampleTest.cxx,v $
Language: C++
Date: $Date: 2003/09/10 14:30:11 $
Version: $Revision: 1.7 $
Copyright (c) Insight Software Consortium. All rights reserved.
See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notices for more information.
=========================================================================*/
#include "itkVector.h"
#include "itkListSample.h"
int itkListSampleTest(int, char* [] )
{
std::cout << "ListSample Test \n \n";
bool pass = true;
std::string whereFail = "" ;
typedef itk::Vector< float, 3 > MeasurementVectorType ;
typedef itk::Statistics::ListSample< MeasurementVectorType > SampleType ;
unsigned int sampleSize = 50 ;
SampleType::Pointer sample = SampleType::New() ;
MeasurementVectorType mv ;
for ( unsigned int i = 0 ; i < sampleSize ; i++ )
{
for (unsigned int j = 0 ; j < 3 ; j++ )
{
mv[j] = rand() / (RAND_MAX+1.0) ;
}
sample->PushBack(mv) ;
}
// tests begin
if ( sampleSize != sample->Size() )
{
pass = false ;
whereFail = "Size()" ;
}
mv = sample->GetMeasurementVector(4) ;
if ( mv != sample->GetMeasurementVector(4) )
{
pass = false ;
whereFail = "GetMeasurementVector()" ;
}
// iterator test
SampleType::Iterator s_iter = sample->Begin() ;
unsigned int id = 0 ;
while (s_iter != sample->End())
{
if (sample->GetMeasurementVector(id) !=
s_iter.GetMeasurementVector())
{
pass = false ;
whereFail = "Iterator: GetMeasurementVector()" ;
}
++id ;
++s_iter ;
}
if (s_iter != sample->End())
{
pass = false ;
whereFail = "Iterator: End()" ;
}
SampleType::SearchResultVectorType searchResult ;
sample->Search(sample->GetMeasurementVector(25), 0.01, searchResult) ;
if( !pass )
{
std::cout << "Test failed in " << whereFail << "." << std::endl;
return EXIT_FAILURE;
}
std::cout << "Test passed." << std::endl;
return EXIT_SUCCESS;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -