[Insight-users] Creating a line structuring element

Richard Beare richard.beare at gmail.com
Tue Feb 11 20:16:17 EST 2014


Hi,
Assuming that you want a line parallel to one of the axis, then your best
bet is probably to start with the box element, as you have. I think it is
meant to fall through the zero dimensions. You'll need to confirm this.

The polygon structuring element and box structuring elements both use line
structuring elements internally.

Structuring element code can look something like this:

  typedef itk::FlatStructuringElement< 2 > SRType;

  // rad will be length 2
  SRType::RadiusType rad ;

  // individually set elements - .Fill will set them all
  rad[0]=5;
  rad[1]=0;

  // now create a box element with these sizes
  SRType kernel;

  kernel = SRType::Box(rad);

  // use it with a filter
  typedef typename itk::GrayscaleErodeImageFilter<TImage, TImage, SRType>
FiltType;
  typename FiltType::Pointer filt = FiltType::New();
  filt->SetInput(input);
  filt->SetKernel(kernel);

  filt->SetAlgorithm(FiltType::VHGW);



On Wed, Feb 12, 2014 at 11:42 AM, Emma Ryan <eryanvtk at yahoo.com> wrote:

> Hi,
>
>  How does one create a line structuring element.  I would like to create a
> [1, 5] size  vector so to speak and use that as a structuring element.
> I guess I have to use itk::FlatStructuringElement<2>     and
> StructuringElementType::Box(..)
>
> But beyond that, how does one set the size ?  From a default radius of 1
> (3 x 3) I would like a (1 x 5) or should it be (0 x 5) size structural
> element.
>
> The following does not work. It gives a syntax error on SetSize and
> frankly I dont think syntax is the only issue.
>
>
> unsigned int radius = 2;
>     typedefe itk::Size<2> SizeType;
>     SizeType strelSize;
>     strelSize[0] = 1;
>     strelSize[1] = 5;
>
>     typedef itk::FlatStructuringElement<2> StructuringElementType;
>     StructuringElementType::RadiusType elementRadius;
>     elementRadius.Fill(2);
>     elementRadius.SetSize(strelSize);
>     StructuringElementType strel =
> StructuringElementType::Box(elementRadius);
>
>
> thank you,
> Emma
>
> _____________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Kitware offers ITK Training Courses, for more information visit:
> http://www.kitware.com/products/protraining.php
>
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.itk.org/mailman/listinfo/insight-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20140212/8cbcc6bd/attachment.html>


More information about the Insight-users mailing list