Zum Inhalt springen

„Insight Segmentation and Registration Toolkit“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Keine Bearbeitungszusammenfassung
Siehe auch
Zeile 14: Zeile 14:
}}
}}


Das '''{{lang|en|Insight Segmentation and Registration Toolkit}}''' (ITK) ist eine [[Open Source|Open-Source]]-[[C++]]-[[Programmbibliothek]] für die [[Segmentierung (Bildverarbeitung)|Segmentierung]] und [[Bildregistrierung|Registrierung]] von Bildern.
Das '''{{lang|en|Insight Segmentation and Registration Toolkit}}''' (ITK) ist eine [[Open Source|Open-Source]]-[[C++]]-[[Programmbibliothek]] für die [[Segmentierung (Bildverarbeitung)|Segmentierung]] und [[Bildregistrierung|Registrierung]] von Bildern.


== Allgemeines ==
== Allgemeines ==
Zeile 35: Zeile 35:
typedef itk::ImageFileWriter<ImageType> WriterType;
typedef itk::ImageFileWriter<ImageType> WriterType;
typedef itk::DiscreteGaussianImageFilter<ImageType, ImageType> GaussianFilterType;
typedef itk::DiscreteGaussianImageFilter<ImageType, ImageType> GaussianFilterType;

ReaderType::Pointer reader = ReaderType::New();
ReaderType::Pointer reader = ReaderType::New();
reader->SetFileName("test.jpg");
reader->SetFileName("test.jpg");

GaussianFilterType::Pointer smoothFilter = GaussianFilterType::New();
GaussianFilterType::Pointer smoothFilter = GaussianFilterType::New();
smoothFilter->SetInput(reader->GetOutput());
smoothFilter->SetInput(reader->GetOutput());
smoothFilter->SetVariance(3);
smoothFilter->SetVariance(3);

WriterType::Pointer writer = WriterType::New();
WriterType::Pointer writer = WriterType::New();
writer->SetInput(smoothFilter->GetOutput());
writer->SetInput(smoothFilter->GetOutput());
writer->SetFileName("smoothImage.png");
writer->SetFileName("smoothImage.png");

try
try
{
{
Zeile 56: Zeile 56:
return EXIT_FAILURE;
return EXIT_FAILURE;
}
}

return EXIT_SUCCESS;
return EXIT_SUCCESS;
}
}
Zeile 75: Zeile 75:
typedef itk::ImageFileWriter<ImageType> WriterType;
typedef itk::ImageFileWriter<ImageType> WriterType;
typedef itk::ConnectedThresholdImageFilter<ImageType, ImageType> RegionFilterType;
typedef itk::ConnectedThresholdImageFilter<ImageType, ImageType> RegionFilterType;

ReaderType::Pointer reader = ReaderType::New();
ReaderType::Pointer reader = ReaderType::New();
reader->SetFileName("test.nii");
reader->SetFileName("test.nii");

ImageType::IndexType seed;
ImageType::IndexType seed;
seed[0] = 142;
seed[0] = 142;
seed[1] = 97;
seed[1] = 97;
seed[2] = 63;
seed[2] = 63;

RegionFilterType::Pointer regionFilter = RegionFilterType::New();
RegionFilterType::Pointer regionFilter = RegionFilterType::New();
regionFilter->SetInput(reader->GetOutput());
regionFilter->SetInput(reader->GetOutput());
regionFilter->SetSeed(seed);
regionFilter->SetSeed(seed);

WriterType::Pointer writer = WriterType::New();
WriterType::Pointer writer = WriterType::New();
writer->SetInput(regionFilter->GetOutput());
writer->SetInput(regionFilter->GetOutput());
writer->SetFileName("region.nii");
writer->SetFileName("region.nii");

try
try
{
{
Zeile 101: Zeile 101:
return EXIT_FAILURE;
return EXIT_FAILURE;
}
}

return EXIT_SUCCESS;
return EXIT_SUCCESS;
}
}
</syntaxhighlight>
</syntaxhighlight>

== Siehe auch ==
* [[Visualization Toolkit]]


== Weblinks ==
== Weblinks ==
* [http://www.itk.org/ www.itk.org] (englisch)
* [http://www.itk.org/ www.itk.org] (englisch)
* [http://www.itk.org/HTML/Tutorials.htm Startseite zu ITK Tutorials] (englisch)
* [http://www.itk.org/HTML/Tutorials.htm Startseite zu ITK Tutorials] (englisch)

== Siehe auch ==
* [[CMake]]
* [[Visualization Toolkit]]


== Einzelnachweise ==
== Einzelnachweise ==

Version vom 16. Juni 2020, 14:58 Uhr

ITK
Basisdaten

Entwickler National Library of Medicine, Kitware Inc. und diverse Universitäten
Aktuelle Version 5.1.0[1]
Betriebssystem Unix-Derivate (Linux, macOS), Windows
Programmier­sprache C, C++, Python[2]
Kategorie Bildverarbeitung
Lizenz Apache 2.0 Lizenz[3]
deutschsprachig nein
www.itk.org

Das Insight Segmentation and Registration Toolkit (ITK) ist eine Open-Source-C++-Programmbibliothek für die Segmentierung und Registrierung von Bildern.

Allgemeines

Die Entwicklung von ITK wurde ab 1999 von der National Library of Medicine gestartet, um offene Klassenbibliotheken und Schnittstellen für die Auswertung des Visible Human Projects zu schaffen.[4] Typische Anwendungsgebiete von ITK sind z. B. die Verarbeitung von medizinischen Daten aus der Computertomographie und der Magnetresonanztomografie. Als Build-System kommt CMake zum Einsatz, welches speziell für ITK entwickelt wurde.[5]

Beispiele

Glättung mithilfe von einem Gaußfilter

#include <itkImage.h>
#include <itkImageFileReader.h>
#include <itkImageFileWriter.h>
#include <itkDiscreteGaussianImageFilter.h>

int main(int argc, char *argv[])
{
    typedef itk::Image<unsigned char, 2> ImageType;
    typedef itk::ImageFileReader<ImageType> ReaderType;
    typedef itk::ImageFileWriter<ImageType> WriterType;
    typedef itk::DiscreteGaussianImageFilter<ImageType, ImageType> GaussianFilterType;

    ReaderType::Pointer reader = ReaderType::New();
    reader->SetFileName("test.jpg");

    GaussianFilterType::Pointer smoothFilter = GaussianFilterType::New();
    smoothFilter->SetInput(reader->GetOutput());
    smoothFilter->SetVariance(3);

    WriterType::Pointer writer = WriterType::New();
    writer->SetInput(smoothFilter->GetOutput());
    writer->SetFileName("smoothImage.png");

    try
    {
      writer->Update();
    }
    catch( itk::ExceptionObject & excp )
    {
      std::cerr << excp << std::endl;
      return EXIT_FAILURE;
    }

	return EXIT_SUCCESS;
}

Region Growing Segmentierung

#include <itkImage.h>
#include <itkImageFileReader.h>
#include <itkImageFileWriter.h>
#include <itkConnectedThresholdImageFilter.h>

int main(int argc, char *argv[])
{
    typedef itk::Image<unsigned char, 3> ImageType;
    typedef itk::ImageFileReader<ImageType> ReaderType;
    typedef itk::ImageFileWriter<ImageType> WriterType;
    typedef itk::ConnectedThresholdImageFilter<ImageType, ImageType> RegionFilterType;

    ReaderType::Pointer reader = ReaderType::New();
    reader->SetFileName("test.nii");

    ImageType::IndexType seed;
    seed[0] = 142;
    seed[1] =  97;
    seed[2] =  63;

    RegionFilterType::Pointer regionFilter = RegionFilterType::New();
    regionFilter->SetInput(reader->GetOutput());
    regionFilter->SetSeed(seed);

    WriterType::Pointer writer = WriterType::New();
    writer->SetInput(regionFilter->GetOutput());
    writer->SetFileName("region.nii");

    try
    {
      writer->Update();
    }
    catch( itk::ExceptionObject & excp )
    {
      std::cerr << excp << std::endl;
      return EXIT_FAILURE;
    }

	return EXIT_SUCCESS;
}

Siehe auch

Einzelnachweise

  1. v5.1.0. Abgerufen am 10. Juni 2020 (englisch).
  2. Insight Software Consortium / ITK - GitHub. Abgerufen am 10. Juni 2020 (englisch).
  3. License. Abgerufen am 10. Juni 2020 (englisch).
  4. History. Abgerufen am 10. Juni 2020 (englisch).
  5. Overview. Abgerufen am 10. Juni 2020 (englisch).