Insight ToolKit
ITK
ITK ( Insight Segmentation and Registration Toolkit ) è una libreria software priva di classi C ++ per l' elaborazione delle immagini . Contiene algoritmi di registrazione , filtraggio e segmentazione delle immagini . È stato creato allo scopo di analizzare tutti i tipi di immagini mediche.
Caratteristiche
- Supportare il Visible Human Project ;
- creare una base per la ricerca futura;
- creare un repository di algoritmi fondamentali;
- sviluppare una piattaforma per lo sviluppo di prodotti avanzati;
- supportare l'applicazione commerciale della tecnologia;
- creare convenzioni per il lavoro futuro;
- sviluppare una comunità autonoma di utenti e sviluppatori di software.
Esempi
Gradiente immagine sottoposto a filtro gaussiano
#include "itkImage.h"
int main()
{
typedef itk::Image< unsigned char, 3 > ImageType;
typedef itk::ImageFileReader< ImageType > ReaderType;
typedef itk::ImageFileWriter< ImageType > WriterType;
typedef itk::GradientRecursiveGaussianImageFilter< ImageType, ImageType > FilterType;
ReaderType::Pointer reader = ReaderType::New();
WriterType::Pointer writer = WriterType::New();
reader->SetFileName("poumonCT.dcm");
writer->SetFileName("poumonLisse.hdr");
FilterType::Pointer filter = FilterType::New();
filter->SetInput( reader->GetOutput() );
writer->SetInput( filter->GetOutput() );
filter->SetSigma();
try
{
writer->Update();
}
catch( itk::ExceptionObject & excp )
{
std::cerr << excp << std::endl;
return EXIT_FAILURE;
}
}
Segmentazione secondo il metodo Region Growing
#include "itkImage.h"
int main()
{
typedef itk::Image< signed short, 3 > InputImageType;
typedef itk::Image< unsigned char, 3 > OutputImageType;
typedef itk::ImageFileReader< InputImageType > ReaderType;
typedef itk::ImageFileWriter< OutputImageType > WriterType;
typedef itk::ConnectedThresholdImageFilter< InputImageType, OutputImageType > FilterType;
ReaderType::Pointer reader = ReaderType::New();
WriterType::Pointer writer = WriterType::New();
reader->SetFileName("cerveau.dcm");
writer->SetFileName("matiereBlanche.hdr");
FilterType::Pointer filter = FilterType::New();
filter->SetInput( reader->GetOutput() );
writer->SetInput( filter->GetOutput() );
filter->SetMultiplier(2.5);
ImageType::IndexType seed;
seed[0] = 142;
seed[1] = 97;
seed[2] = 63;
filter->AddSeed( seed );
try
{
writer->Update();
}
catch( itk::ExceptionObject & excp )
{
std::cerr << excp << std::endl;
return EXIT_FAILURE;
}
}
Note e riferimenti
-
" Versione 5.1.2 " ,8 dicembre 2020(accesso 8 gennaio 2021 )
Vedi anche
Articoli Correlati
Link esterno