[Insight-users] Gradient vector flow output image is empty
Arunachalam Kana
Kana.Arunachalam at fh-wels.at
Fri Feb 19 14:59:53 EST 2010
Hi Luis & Users,
Few days back you suggested me to read 3 papers.
A) "Flux driven medial curve extraction"
http://www.insight-journal.org/browse/publication/165
<http://www.insight-journal.org/browse/publication/165>
Mellado X., Larrabide I., Hernandez M., Frangi A.
Pompeu Fabra University, University of Zaragoza
****useful pre processing step for my application
B) "Fast Marching Minimal Path Extraction in ITK"
http://www.insight-journal.org/browse/publication/213
<http://www.insight-journal.org/browse/publication/213>
Mueller D.
Queensland University of Technology
****Not very useful for my application as i cannot provide seed
point, start point or end point,
as i have to extract few 100,000 tubular shaped fibres. I am
looking for an automatic solution.
C) "Generalizing vesselness with respect to dimensionality and shape"
http://www.insight-journal.org/browse/publication/175
<http://www.insight-journal.org/browse/publication/175>
Antiga L.
Mario Negri Institute, Italy
****useful and i am trying to use the example and try to use for
my application.
Apart from the above 2 paper which suits my application, i am interested
to use Gradient vector flow snakes.
As the gradient vector flow of tubular structure point towards the
center of the tube. I plan to use GVF along with hessian matrix and
Frangi's vesselness
measure to extract the tubular shape.
I am trying to run the itkgradientvectorflow.cxx example. I made some
changes in the code. The changes are based on a itk user email i found
in itk user achieves.
The pipeline is:
Input image -> gradient magnitude image filter (edge map) -> gradient
image filter -> gradient vector flow.
The input image is 3D Ct image and pixel type is unsigned short. No. Of
iteration = 200, noise = 300.
I do not get compilation error. The output of the pipeline is empty
image. I used paraview to visualise the output image, but the image was
empty.
I am interested in realising the gradient vector flow. Some help to
solve the issue will be highly appreciated.
int main( int argc, char * argv[] )
{
if( argc < 5 )
{
std::cerr << "Usage: " << std::endl;
std::cerr << argv[0] << " inputImageFile outputImageFile";
std::cerr << " numberOfIterations noiseLevel" << std::endl;
return EXIT_FAILURE;
}
const unsigned int Dimension = 3;
typedef unsigned short InputPixelType;
typedef float MagPixelType;
typedef itk::CovariantVector< float, Dimension > OutputPixelType;
typedef itk::Image< InputPixelType, Dimension > InputImageType;
typedef itk::Image< MagPixelType, Dimension > MagImageType;
typedef itk::Image< OutputPixelType, Dimension > OutputImageType;
//set image reader filter
typedef itk::ImageFileReader< InputImageType > ReaderType;
ReaderType::Pointer reader = ReaderType::New();
reader->SetFileName( argv[1] );
reader->Update();
//set gradient magnitude filter
typedef itk::GradientMagnitudeImageFilter<InputImageType,
MagImageType> MagnitudeType;
MagnitudeType::Pointer magnitude = MagnitudeType::New();
magnitude->SetInput( reader->GetOutput() ) ;
magnitude->Update();
//set gradient image filter
typedef itk::GradientImageFilter<MagImageType, float, float>
GradientType;
GradientType::Pointer gradient = GradientType::New();
gradient->SetInput( magnitude->GetOutput() );
gradient->Update();
//set gradient vector flow filter
typedef itk::GradientVectorFlowImageFilter< OutputImageType,
OutputImageType > FilterType;
FilterType::Pointer filter = FilterType::New();
filter->SetInput( gradient->GetOutput() );
const unsigned int numberOfIterations = atoi( argv[3] );
const double noiseLevel = atof( argv[4] );
filter->SetIterationNum( numberOfIterations );
filter->SetNoiseLevel( noiseLevel );
filter->Update();
//set writer image filter
typedef itk::ImageFileWriter< OutputImageType > WriterType;
WriterType::Pointer writer = WriterType::New();
writer->SetFileName( argv[2] );
writer->SetInput( filter->GetOutput() );
writer->Update();
return EXIT_SUCCESS;
}
Regards,
Kana
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20100219/c81bc56f/attachment.htm>
More information about the Insight-users
mailing list