사례 연구: CT 스캔 이미지 처리

고객

본 프로젝트의 고객은 연구개발 – 제조 – 판매 – 서비스 등 의료장비 및 의료정보시스템 사업의 전 단계를 아우르는 통합 의료 시스템 제조사입니다. 본사는 일본에 있으며 미주(미국), 유럽(스위스), 아시아(중국, 싱가포르)에 지사가 있습니다. 이 회사는 1949년에 설립되었습니다.

비즈니스 수요

최근 CT 기술에 기반한 조영제 사용 방식인 컴퓨터 단층촬영 혈관조영(CT 혈관조영)으로 협착, 경색, 해리 등 혈관 합병증을 진단하는 것이 점점 더 인기를 얻고 있습니다. 혈관 데이터(조영제 사용)는 골격 데이터만큼이나 CT로 촬영할 가치가 있으며, 혈액 진단에 사용되는 수많은 의미 있는 정보를 얻을 수 있습니다. 하지만 어떤 경우에는 골격과 혈액이 함께 있는 위치에서 단지 골격만 보이기 때문에 식별과 진단에 어려움이 있습니다. 머리-목, 가슴, 복부, 팔다리 부위의 가로 이미지로 스캔한 CT 이미지 데이터에서 골격과 대비되는 혈관을 자동으로 구분하여 영상 기사나 의사가 혈관 이미지만을 쉽게 볼 수 있게 하는 것이 이 애플리케이션의 목적입니다.
주요 특징
– 골격 제거 처리를 자동으로 수행: 골격 데이터 제거, 골격 또는 혈관 데이터만 추출
– 골격 제거 처리 결과 조정: 골격 및 혈관 데이터의 추가, 삭제 또는 교환

The Challenges

FPT Software found the challenge of this project as below:
– The algorithm for identifying Bone and Vessel data was very complex, not only in a region on one slice but also in a volume of multi slices.
– Memory resource: The volume of concurrent processing data was very big and takes a lot of memory resource (about 1.2 GB of RAM in average for 1000 slices) while the requirement is that the program can run for 1500 slices on the system of 2Gb RAM.
– Performance: the automatically Bone Removal process must run in 20s for 1000 slices and 30s for 1500 slices.

솔루션

FPT Software는 온사이트-오프쇼어 모델을 활용했으며 현장에 배치된 팀이 요구 조건을 연구하고 해외에 있는 팀을 지원하게 했습니다. 의료 애플리키이션의 품질을 확실히 하고자 FPT Software의 프로세스와 고객의 프로세스를 따라 애플리케이션을 제작했습니다. 우리는 최고의 데이터 처리 알고리즘을 찾기 위해 몇 가지 알고리즘을 시도했습니다(영역 확장 알고리즘 기반). 기대 성능을 만족시키고자 코드를 검토하고 최적화했으며 정교화하는 작업을 수행했습니다. 우리는 메모리 누수 문제를 극복했습니다. 배정된 메모리 블록에 링크 리스트를 활용해 성능 요건과 메모리 누수 이슈를 모두 만족시켰습니다.

효과

처리 기술 및 사업의 복잡성, 짧은 기간, 성능 및 메모리 자원에 대한 요건 등 FPT Software는 몇 가지 문제를 마주했지만 그럼에도 불구하고 다음과 같은 상당한 효과를 제공할 수 있었습니다.
– 고객은 복잡한 기술을 해결하는 우리의 능력을 신뢰했습니다.
– FPT Software 팀은 품질이 우수한 제품을 합리적인 가격에 제작하여 제공했습니다. 팀이 시행한 해외기반 유지 모델 덕분에 고객의 총운영비용(TCO)이 극적으로 감소했습니다.

프로젝트 요약
:

범위:  – ADD 및 DDD 생성
– 코딩, 테스트 수행, CTC 증거 및 중요한 UTC 사례 포착
– UAT 지원
범위 제외:
– 골격 제거와 관련되지 않은 A3D 시스템 오류
– 부분 인식 및 골격 제거에 사용된 주요 알고리즘
목표
– 의료용 애플리케이션이므로 애플리케이션을 최고의 품질로 제공하고 생산성을 높이는 것((292->360)이 목표.
   + 누수: 0.18 WDeft/UCP    + 보정 비용: 6.0%    + 생산성: 360 LOC/MM(개발 한정)

사용 기술:

Delphi 6.0, SVN, CT 및 이미지 데이터 처리 지식