[Insight-users] SimpleFuzzyConnectednessScalarImageFilter

Luis Ibanez luis.ibanez@kitware.com
Fri, 27 Sep 2002 08:40:56 -0400


Hi Zein,

Just a quick note on the compilation error,
The method

          "GenerateData()"

is not intended to be called by users.

This method is called internally when you
call

             "Update()".

GenerateData() and ThreadedGenerateData()
are the heart of itk Filters. The reason
for keeping those methods protected is that
they should only run after the pipeline
update mechanism has make sure that their
input is valid and available.

Your code should rather look like the first
block you posted, where  you call "Update()".


    Luis


=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

Zein Salah wrote:

> Hello friends,
>=20
> =20
>=20
> 1) I am trying to use the SimpleFuzzyConnectednessScalarImageFilter. Th=
e=20
> program I wrote requires at least 40 minutes for an image of size=20
> 250x220x90. Is that a resonable time?????????????? The code I am using =
is:
>=20
> =20
>=20
>    SimpleFuzzyConnectednessScalarImageFilterType::Pointer
>                             m_Seg =3D=20
> SimpleFuzzyConnectednessScalarImageFilterType::New();
> =20
>    m_Seg->SetInput( ...... );
>    IndexType    mSeed =3D {{86, 100, 50}};
>    m_Seg->SetObjectsSeed(mSeed);
>    m_Seg->SetMean(5);
>    m_Seg->SetVariance(40);
>    m_Seg->SetThreshold( 0.05 );
>    m_Seg->Update();
>=20
> =20
>=20
> In the paper (Fuzzy Connectedness and Object=20
> <http://www.itk.org/Doxygen/html/classitk_1_1Object.html> Definition:=20
> Theory, Algorithms, and Applications in Image=20
> <http://www.itk.org/Doxygen/html/classitk_1_1Image.html> Segmentation",=
=20
> J. Udupa and S. Samarasekera), page 259, it is stated that there are tw=
o=20
> version of the algorithm. One requires on some machine about 20 min for=
=20
> an image of 256x256x64, and the other version requires only 2 minutes=20
> for the same image. WHICH version is the implemented one in the filter =

> of ITK???????????????=20
>=20
> =20
>=20
> =20
>=20
> 2) I read in the documentation of the filter that GenerateDate is to be=
=20
> run to perform the segmentation=20
>  http://www.itk.org/Doxygen/html/classitk_1_1SimpleFuzzyConnectednessSc=
alarImageFilter.html
>=20
> =20
>=20
> I have tried that with the following code, it resulted a compilation er=
ror.
>=20
> =20
>=20
>    SimpleFuzzyConnectednessScalarImageFilterType::Pointer
>                             m_Seg =3D=20
> SimpleFuzzyConnectednessScalarImageFilterType::New();
> =20
>    m_Seg->SetInput( ...... );
>    IndexType    mSeed =3D {{86, 100, 50}};
>    m_Seg->SetObjectsSeed(mSeed);
>    m_Seg->SetMean(5);
>    m_Seg->SetVariance(40);
>    m_Seg->SetThreshold( 0.05 );
>=20
>    GenerateData();
>=20
> The resulted error is:
>=20
>  -------------------Configuration: GaussianFilter - Win32=20
> Debug--------------------
> Compiling...
> iomodule.cpp
> main.cpp
> Tester.cpp
> D:\InsightBeta2-bin\Examples\ZeinTester\Tester.cpp(101) : error C2248: =

> 'GenerateData' : cannot access protected member declared in class=20
> 'itk::SimpleFuzzyConnectednessImageFilterBase<class=20
> itk::Image<float,3>,class itk::Image<float,3> >'
>        =20
> D:\InsightBeta2\Code\Algorithms\itkSimpleFuzzyConnectednessImageFilterB=
ase.h(115)=20
> : see declaration of 'GenerateData'
> Generating Code...
> Error executing cl.exe.
> Creating browse info file...
>=20
> =20
>=20
> ZeinTester.exe - 1 error(s), 0 warning(s)
>=20
>=20
> What could the problem be????????
>=20
> =20
>=20
> =20
>=20
> =20
>=20
> I will be very thankfull for any type of help.
>=20
> =20
>=20
> Zein
>=20
> =20
>=20
> =20
>=20
> =20
>=20
> ->8<------------->8<------------->8<------------->8<------------->8<---=
---------->8<-
> Zein I. Salah
> Universit=E4t T=FCbingen, WSI-GRIS
> Sand 14
> 72076 T=FCbingen
> Email: salah@gris.uni-tuebingen.de <mailto:salah@gris.uni-tuebingen.de>=
 =20
> / zeinsalah@hotmail.com <mailto:zeinsalah@hotmail.com>
> Tel.: (07071) 29 75465 (GRIS) , (07071) 96 44 39 (privat)
> Fax: (07071) 29 54 66
>=20