- TVertices neighs;
- auto reg = this->GetInput( )->GetRequestedRegion( );
- if( this->m_NeighborhoodOrder == 1 )
- {
- for( unsigned int d = 0; d < _TInputImage::ImageDimension; d++ )
- {
- for( int i = -1; i <= 1; i += 2 )
- {
- TVertex n = v;
- n[ d ] += i;
- if( reg.IsInside( n ) )
- neighs.push_back( n );
-
- } // rof
-
- } // rof
- }
- else
- {
- typedef itk::ConstNeighborhoodIterator< _TInputImage > _TNeighIt;
- typename _TInputImage::SizeType nSize;
- nSize.Fill( 1 );
-
- _TNeighIt nIt( nSize, this->GetInput( ), reg );
- nIt.SetLocation( v );
- for( unsigned int i = 0; i < nIt.Size( ); i++ )
- {
- TVertex n = nIt.GetIndex( i );
- if( n == v )
- continue;
- if( reg.IsInside( n ) )
- neighs.push_back( n );
-
- } // rof
-
- } // fi
- return( neighs );