2016-10-21 5 views
0

OpenCV와 ITK를 모두 사용합니다. ITC가 OpenCV처럼 버퍼에서 의학 이미지를 디코드 할 수 있는지 궁금합니다 (cv::imdecode()). 예를 들어 을 사용하는 버퍼 buf에 DICOM 파일을 읽은 경우 itk::Image을 가져 오는 데 사용할 수있는 ITK의 API가 buf입니까?ITC의 OpenCV imdecode()의 아날로그

감사합니다.

답변

1

ITK에는 확장명을 기반으로 파일 형식을 결정하고 적절한 ImageIO 클래스를 사용하여 실제 읽기를 수행하는 IO 메커니즘이 있습니다. ImageIO 인터페이스는 일정합니다. 간단한 예제는 NRRD이고 더 복잡한 예제는 GDCM입니다.

간단한 해결 방법은 해당 버퍼를 file in temp folder에 쓰고 일반 IO 메커니즘을 사용하여 읽는 것입니다.

+0

고마워요! 필요한 이유는 하나의 노드가 압축 된 이미지를 다른 네트워크로 보낼 수있는 분산 환경에서 ITK를 사용하기 때문입니다. 나는 파일 I/O를 피할 필요가있다. 내가 가지고있는 유일한 해결책과 같은 소리는 디코딩 된 이미지를 보내고 네트워크를 통해 메타 데이터를 보내는 것입니다. –

+0

이 라이브러리로 쉽게 만들 수 있습니다. http://openigtlink.org/ –