📄 itkimagelineariteratortest.cxx
字号:
{
std::cerr << "GoToBeginOfLine() test failed" << std::endl;
std::cerr << cbot.GetIndex() << " should be" << testIndex << std::endl;
return EXIT_FAILURE;
}
std::cout << " Done ! " << std::endl;
}
// Verification of the Iterator in a subregion of the image
{
std::cout << "Verifying Iterator in a Region smaller than the whole image... ";
ImageType::IndexType start;
start[0] = 10;
start[1] = 12;
start[2] = 14;
ImageType::SizeType size;
size[0] = 11;
size[1] = 12;
size[2] = 13;
ImageType::RegionType region;
region.SetIndex( start );
region.SetSize( size );
IteratorType cbot( myImage, region );
cbot.SetDirection( 0 ); // 0=x, 1=y, 2=z
cbot.GoToBegin();
while( !cbot.IsAtEnd() )
{
while( !cbot.IsAtEndOfLine() )
{
ImageType::IndexType index = cbot.GetIndex();
ImageType::PixelType pixel = cbot.Get();
if( index != pixel )
{
std::cerr << "Iterator in region test failed" << std::endl;
std::cerr << pixel << " should be" << index << std::endl;
return EXIT_FAILURE;
}
++cbot;
}
cbot.NextLine();
}
std::cout << " Done ! " << std::endl;
}
// Verification of the Const Iterator in a subregion of the image
{
std::cout << "Verifying Const Iterator in a Region smaller than the whole image... ";
ImageType::IndexType start;
start[0] = 10;
start[1] = 12;
start[2] = 14;
ImageType::SizeType size;
size[0] = 11;
size[1] = 12;
size[2] = 13;
ImageType::RegionType region;
region.SetIndex( start );
region.SetSize( size );
ConstIteratorType cbot( myImage, region );
cbot.SetDirection( 0 ); // 0=x, 1=y, 2=z
cbot.GoToBegin();
while( !cbot.IsAtEnd() )
{
while( !cbot.IsAtEndOfLine() )
{
ImageType::IndexType index = cbot.GetIndex();
ImageType::PixelType pixel = cbot.Get();
if( index != pixel )
{
std::cerr << "Iterator in region test failed" << std::endl;
std::cerr << pixel << " should be" << index << std::endl;
return EXIT_FAILURE;
}
++cbot;
}
cbot.NextLine();
}
std::cout << " Done ! " << std::endl;
}
// Verification of the Iterator NextLine() in the middle of a line
{
std::cout << "Verifying Iterator NextLine() in the middle of a line";
ImageType::IndexType start;
start[0] = 10;
start[1] = 12;
start[2] = 14;
ImageType::SizeType size;
size[0] = 11;
size[1] = 12;
size[2] = 13;
ImageType::RegionType region;
region.SetIndex( start );
region.SetSize( size );
std::cout << " IteratorType cbot( myImage, region );" << std::endl;
IteratorType cbot( myImage, region );
std::cout << " cbot.SetDirection( 0 ); // 0=x, 1=y, 2=z" << std::endl;
cbot.SetDirection( 0 ); // 0=x, 1=y, 2=z
std::cout << " cbot.GoToBegin();" << std::endl;
cbot.GoToBegin();
std::cout << " GetIndex(): " << cbot.GetIndex() << std::endl;
// go to the middle of the first line
std::cout << " for(unsigned int i=0; ..." << std::endl;
for(unsigned int i=0; i<size[0]/2; i++)
{
std::cout << " ++cbot;" << std::endl;
++cbot;
std::cout << " GetIndex(): " << cbot.GetIndex() << std::endl;
}
// go to next line
std::cout << " cbot.NextLine();" << std::endl;
cbot.NextLine();
std::cout << " GetIndex(): " << cbot.GetIndex() << std::endl;
std::cout << " const ImageType::IndexType testIndex = cbot.Get();" << std::endl;
const ImageType::IndexType testIndex = cbot.Get();
std::cout << " if( cbot.GetIndex() != testIndex )" << std::endl;
if( cbot.GetIndex() != testIndex )
{
std::cerr << "NextLine() test failed" << std::endl;
std::cerr << cbot.GetIndex() << " should be" << testIndex << std::endl;
return EXIT_FAILURE;
}
std::cout << " Done ! " << std::endl;
}
// Verification of the Iterator PreviousLine() in the middle of a line
{
std::cout << "Verifying Iterator PreviousLine() in the middle of a line";
ImageType::IndexType start;
start[0] = 10;
start[1] = 12;
start[2] = 14;
ImageType::SizeType size;
size[0] = 11;
size[1] = 12;
size[2] = 13;
ImageType::RegionType region;
region.SetIndex( start );
region.SetSize( size );
std::cout << " IteratorType cbot( myImage, region );" << std::endl;
IteratorType cbot( myImage, region );
std::cout << " cbot.SetDirection( 0 ); // 0=x, 1=y, 2=z" << std::endl;
cbot.SetDirection( 0 ); // 0=x, 1=y, 2=z
std::cout << " cbot.GoToBegin();" << std::endl;
cbot.GoToBegin();
std::cout << " GetIndex(): " << cbot.GetIndex() << std::endl;
// go to the middle of the second line
std::cout << " for(unsigned int i=0; ..." << std::endl;
for(unsigned int i=0; i<size[0]+size[0]/2; i++)
{
std::cout << " ++cbot;" << std::endl;
++cbot;
std::cout << " if(cbot.IsAtEndOfLine())" << std::endl;
if(cbot.IsAtEndOfLine())
{
std::cout << " cbot.NextLine();" << std::endl;
cbot.NextLine();
}
std::cout << " GetIndex(): " << cbot.GetIndex() << std::endl;
}
// go to previous line
std::cout << " cbot.PreviousLine();" << std::endl;
cbot.PreviousLine();
std::cout << " GetIndex(): " << cbot.GetIndex() << std::endl;
std::cout << " const ImageType::IndexType testIndex = cbot.Get();" << std::endl;
const ImageType::IndexType testIndex = cbot.Get();
std::cout << " if( cbot.GetIndex() != testIndex )" << std::endl;
if( cbot.GetIndex() != testIndex )
{
std::cerr << "PreviousLine() test failed" << std::endl;
std::cerr << cbot.GetIndex() << " should be" << testIndex << std::endl;
return EXIT_FAILURE;
}
std::cout << " Done ! " << std::endl;
}
// Verification of the ConstIterator NextLine() in the middle of a line
{
std::cout << "Verifying ConstIterator NextLine() in the middle of a line";
ImageType::IndexType start;
start[0] = 10;
start[1] = 12;
start[2] = 14;
ImageType::SizeType size;
size[0] = 11;
size[1] = 12;
size[2] = 13;
ImageType::RegionType region;
region.SetIndex( start );
region.SetSize( size );
ConstIteratorType cbot( myImage, region );
cbot.SetDirection( 0 ); // 0=x, 1=y, 2=z
cbot.GoToBegin();
// go to the middle of the first line
for(unsigned int i=0; i<size[0]/2; i++)
{
++cbot;
}
// go to next line
cbot.NextLine();
const ImageType::IndexType testIndex = cbot.Get();
if( cbot.GetIndex() != testIndex )
{
std::cerr << "NextLine() test failed" << std::endl;
std::cerr << cbot.GetIndex() << " should be" << testIndex << std::endl;
return EXIT_FAILURE;
}
std::cout << " Done ! " << std::endl;
}
// Verification of the ConstIterator PreviousLine() in the middle of a line
{
std::cout << "Verifying ConstIterator PreviousLine() in the middle of a line";
ImageType::IndexType start;
start[0] = 10;
start[1] = 12;
start[2] = 14;
ImageType::SizeType size;
size[0] = 11;
size[1] = 12;
size[2] = 13;
ImageType::RegionType region;
region.SetIndex( start );
region.SetSize( size );
ConstIteratorType cbot( myImage, region );
cbot.SetDirection( 0 ); // 0=x, 1=y, 2=z
cbot.GoToBegin();
// go to the middle of the second line
for(unsigned int i=0; i<size[0]+size[0]/2; i++)
{
++cbot;
if(cbot.IsAtEndOfLine())
{
cbot.NextLine();
}
}
// go to previous line
cbot.PreviousLine();
const ImageType::IndexType testIndex = cbot.Get();
if( cbot.GetIndex() != testIndex )
{
std::cerr << "PreviousLine() test failed" << std::endl;
std::cerr << cbot.GetIndex() << " should be" << testIndex << std::endl;
return EXIT_FAILURE;
}
std::cout << " Done ! " << std::endl;
}
std::cout << "Test passed" << std::endl;
return EXIT_SUCCESS;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -