[Insight-users] exception in itk::BSplineScatteredDataPointSetToImageFilter ?

Arnaud Gelas arnaudgelas at gmail.com
Tue Jun 5 03:37:09 EDT 2012


Hi Nick,

Here is the print out:

terminate called after throwing an instance of 'itk::ExceptionObject'
 what():
/home/ajg23/DEVEL/ITK/Modules/Core/Common/src/itkMultiThreader.cxx:359:
itk::ERROR: MultiThreader(0xaacf610): Exception occurred during
SingleMethodExecute
/home/ajg23/DEVEL/ITK/Modules/Filtering/ImageGrid/include/itkBSplineScatteredDataPointSetToImageFilter.hxx:625:
itk::ERROR: PointSetToImageFilter(0xaab0d40): The reparameterized point
component 2.00002 is outside the corresponding parametric domain of [0, 2].

It seems to work with 1 or 2 level, but start throwing an exception from
level 3 onward.

Arnaud

On Mon, Jun 4, 2012 at 5:24 PM, Nicholas Tustison <ntustison at gmail.com>wrote:

> THat looks right.  What is the print out you get
> when the exception is thrown?
>
>
> On Jun 4, 2012, at 11:02 AM, Arnaud Gelas wrote:
>
> > Nick,
> >
> > Here is the code (see below), I have been using (adapted from the test)
> >
> > Any idea?
> >
> > Thanks,
> > Arnaud
> >
> >      const unsigned int ParametricDimension = 1;
> >      typedef itk::PointSet< Vector3DType, ParametricDimension >
>  PointSetType;
> >
> >      int length = m_Lateral - m_AX;
> >
> >      CoordinateType dt =
> >          static_cast< CoordinateType >( 1. ) / static_cast<
> CoordinateType >( length );
> >
> >      CoordinateType t = 0.;
> >
> >      typename PointSetType::Pointer pointSet = PointSetType::New();
> >
> >      IndexType idx;
> >      idx.Fill( 0 );
> >
> >      int i = 0, k = 0;
> >      for( int y = m_AX; y <= m_Lateral; y++ )
> >        {
> >        if( ( y == ax ) || ( y >= m_Bottom ) )
> >          {
> >          typename PointSetType::PointType pt;
> >          pt[0] = t;
> >
> >          pointSet->SetPoint( i, pt );
> >
> >          Vector3DType v;
> >          v[0] = static_cast< typename
> PointSetType::PointType::CoordRepType >( contour[y] );
> >          v[1] = static_cast< typename
> PointSetType::PointType::CoordRepType >( y );
> >          v[2] = 0.;
> >
> >          pointSet->SetPointData( i, v );
> >
> >          i++;
> >          }
> >
> >        t += dt;
> >        }
> >
> >      typedef itk::Image< Vector3DType, ParametricDimension >
> ParametricImageType;
> >
> >      typename ParametricImageType::SpacingType spacing;
> >      spacing.Fill( dt );
> >
> >      typename ParametricImageType::SizeType size;
> >      size.Fill( length + 1 );
> >
> >      typename ParametricImageType::PointType origin;
> >      origin.Fill( 0. );
> >
> >      typedef itk::BSplineScatteredDataPointSetToImageFilter<
> PointSetType, ParametricImageType > FilterType;
> >      typename FilterType::Pointer filter = FilterType::New();
> >      filter->SetInput( pointSet );
> >      filter->SetSize( size );
> >      filter->SetOrigin( origin );
> >      filter->SetSpacing( spacing );
> >      filter->SetSplineOrder( 3 );
> >      filter->SetNumberOfLevels( 1 );
> >
> >      typename FilterType::ArrayType ncps;
> >      ncps.Fill( 4 );
> >      filter->SetNumberOfControlPoints( ncps );
> >
> >      filter->SetNumberOfThreads( 1 );
> >      filter->SetGenerateOutputImage( true );
> >      filter->Update();
> >
> > On 06/04/2012 04:55 PM, Nicholas Tustison wrote:
> >> Hi Arnaud,
> >>
> >> Yes, so that means that one of your data points is outside the
> >> user-defined parametric domain.  Even if it is right on the edge,
> >> the parametric domain is open-ended on the right side which
> >> will cause this exception to be thrown.  How are you setting up
> >> your parametric domain?  In other words, what does your call
> >> look like when you're setting up the filter?
> >>
> >> Nick
> >>
> >>
> >> On Jun 4, 2012, at 10:45 AM, Arnaud Gelas wrote:
> >>
> >>> Hi Nick,
> >>>
> >>> When using itk::BSplineScatteredDataPointSetToImageFilter, I get the
> following exception
> >>>
> >>> itkExceptionMacro( "The reparameterized point component "<<  p[i]
> >>> <<  " is outside the corresponding parametric domain of [0,"
> >>> <<  totalNumberOfSpans<<  "]." );
> >>>
> >>>
> >>> I could not figure out if I made a mistake when setting my parameters?
> or anything else?
> >>>
> >>> Any idea? or suggestion?
> >>>
> >>> Thanks,
> >>> Arnaud
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20120605/63f1c9b2/attachment.htm>


More information about the Insight-users mailing list