본문 바로가기

전체 글

(37)
DICOM series에 object detection결과 그리기 워낙에 좋은 코드들이 많지만, 내가 사용하는 방법. 사실 결과에 따라서 항상 새로 코드를 짜는 편인데, 이 방법은 ROI의 위치 확인용도로 사용한다. 딥러닝 결괏 값은 text파일에 (x1, y1, z1, x2, y2, z2) 이 순서로 좌표값을 저장하였다. 일반 jpg파일로 여러 장 저장할 수 있지만, case도 많고 1 case에 몇백 장씩 있으면 데이터 관리가 힘들다. 그래서 1개의 파일에 결과를 보기위해서 파일 포맷을 찾다가 nifti는 color값을 넣을 수가 없어서 (color값도 넣고 볼수있을수도 있지만, 난 도저히 찾아봐도 되지가 않았다) 그래서. mha 파일 포맷으로 저장하여 ImageJ를 이용하여 열어서 확인하는 방식으로 구성하였음. import numpy as np import Sim..
220511 푸념글 난 게임캐릭터를 키워도 잡캐였고, 내 인생도 잡캐와 같은 스펙을 쌓고 있다. 좋게 말하면 다양한 경험이 있는 것이고, 현실적으로 말하면 한가지도 제대로 못하는 어중이 떠중이? 요즘 딥러닝, 일반 computer vision외에 SLAM을 공부중인데 생각보다 많이 어렵고, 자료가 많이 없어서 뭔가 난관에 부딪힌 것 같다. 난 내가 이렇게 다양한걸 경험하는게 마이너스라는 생각을 해본적이 없는데 오픈채팅방에 여러 사람들의 얘기와 조언들을 보면서 이렇게 하는게 맞는지 걱정이 되기도 하고 답답하다. 하지만 어째 내가 선택해서 하기로 했으니 이렇게 푸념좀 하고 나서 그냥 하는 수 밖에 없다.
DICOM Metadata label data를 만들 때, 필요한 DICOM metadata의 tag목록의 함수이다. patient_position은 이전에는 사용할 일이 없었는데, DICOM의 정보를 적용한 label의 경우에는 그냥 label의 raw데이터만 가져오면 방향이 안맞는 문제가 생겨서 사용하게 되었다. def patient_position_info(): header_info = list() # Patient Position entryID = "0018|5100" header_info.append(entryID) # Image Position entryID = "0020|0032" header_info.append(entryID) # Image Orientation entryID = "0020|0037" header_..
DICOM Volume 좌표계 DICOM 볼륨들을 한꺼번에 읽어와서 DICOM Header로 Axial, Sagittal, Coronal 어떤 방향일지 확인할 때 0020,0037 Image Orientation(Patient)로 확인 할 수 있다. 다음과 같은 그림으로 정리해서 volume을 재구성할 때 참고하였다.
ITK & VTK Static Build 4년 전쯤 ITK와 VTK를 Visual Studio 최신버젼에 맞게 빌드하기 위해서 여러가지 자료를 보고 무수한 살집의 시간을 통해서 만들어 두었던 빌드 방법 이 방법으로 빌드 해야 나중에 프로그램 컴파일하고 나서 따로 dll을 넣어주지 않아도 되서 배포할 때 꼭 필요한 상황이여서 static 으로 빌드를 하였음. 1. Cmake 2. 빌드하고 싶은 라이브러리 3. Visual Studio 4. 많은 시간 (빌드할 때, 시간이 많이걸림) 이 모든 과정에서 에러가 발생하지 않았다면 정상적으로 라이브러리 빌드가 완료된다. 4년전에 라이브러리 빌드할 당시에는 이렇게 세세하게 설명된 글이 없어서, 엄청난 많은 검색과 삽질을 통해서 나름대로 에러가 나지 않게 빌드한 방법이여서, 중간과정이라도 잘못 선택하게 될까..