[Insight-users] How to create my own NeighborhoodOperator ?

SERIOT Rémi DEC/SPUA/LTEC SERIOT at DRNCAD . CEA . FR
Fri, 13 Jun 2003 10:27:08 +0200


Thanks for your help Josh, I have my NeighborhoodOperator working fine now.
But I still need some help about Watershed Image Filter, because my
segmentation is quite perfect and I just need to supress some small
catchement bassin. As I already told you I try the Threshold parameter but I
lost too much low contrast edges with this parameter.

I think that with SegmentTree class I could sort those bassin by size but I
don't know how.

I'm still a novice in itk so any suggestions will be appreciate

Thanks for your help

Rémi

> -----Message d'origine-----
> De : Joshua Cates [mailto:cates at sci . utah . edu]
> Envoyé : jeudi 12 juin 2003 18:30
> À : SERIOT Rémi DEC/SPUA/LTEC
> Cc : 'insight-users at public . kitware . com'
> Objet : Re: [Insight-users] How to create my own 
> NeighborhoodOperator ?
> 
> 
> Hi Rémi,
> 
> The SetOperator method of this filter will accept any 
> itkNeighborhood or
> subclass of itkNeighborhood.  The simplest solution is just 
> to create a
> 3x3 itkNeighborhood and fill it with your values.  
> Alternately you could
> create a new itkNeighborhoodOperator subclass (see 
> itkDerivativeOperator,
> et al.).   Because the NeighborhoodOperator filter is doing 
> inner products
> you will need to flip the axes of your operator (kernel) to 
> do convolution
> filtering properly.
> 
> 
> Josh.
> 
> ______________________________
>  Josh Cates
>  School of Computer Science
>  University of Utah
>  Email: cates at sci . utah . edu
>  Phone: (801) 587-7697
>  URL:   http://www . sci . utah . edu/~cates
> 
> 
> On Thu, 12 Jun 2003, SERIOT Rémi        DEC/SPUA/LTEC wrote:
> 
> > Hi all
> >
> > I would like to apply my own 3x3 operator with
> > NeighborhoodOperatorImageFilter, but I don't how I can 
> create this operator.
> >
> >  I already write this code
> >
> >    std::vector< double > coeff(9);
> >
> >    double val =3D -(1-alpha) / (8*alpha);
> >    for(int i=3D0; i<9; i++)
> >  	coeff[i] =3D val;
> >    coeff[4] =3D 1/alpha;
> >
> >    itk::NeighborhoodOperatorImageFilter<ImageType, 
> ImageType>::Pointer =
> > filter
> >      itk::NeighborhoodOperatorImageFilter<ImageType, 
> ImageType>::New();
> >
> >    //filter->SetOperator( oper );
> >    filter->SetInput( m_image );
> >    filter->Update();
> >
> >  So could you explain me, how I can create the Neighborhood =
Operator
> >
> >  Thanks
> >
> > Rémi
> > _______________________________________________
> > Insight-users mailing list
> > Insight-users at www . itk . org
> > http://www . itk . org/mailman/listinfo/insight-users
> >
>