본문 바로가기

내가 작업한 것들/소프트웨어

Medical RAW viewer, version 0.7.4.200 오픈소스화.

Medial RAW viewer 는 제가 직접 만들어 배포하는 Freeware 입니다.
다만, 이 프로그램을 상업적 목적으로 사용하시거나, 개조 또는 재배포 등은 허용되지 않으며, 발각시 법적인 조치까지 갈 수 있음을 먼저 인지해 주시고 사용해 주시기 바랍니다.
open source 입니다. 버젼 0.7.4.200 부터 모든 소스를 bitbucket 에 올리고 있으며, Download section 에서 최신 버젼을 내려 받을 수 있도록 7z 파일을 제공 합니다.

이 프로그램은 일반적으로 사용되는 의학관련 RAW 영상 이나, DICOM 을 읽고 보여 주는 프로그램으로서, FLTK 1.3.4-ts 와 제가 직접 만들어 쓰는 libtinydicom, minIni 등의 opensource 를 사용하여 만들어 졌습니다.


다운로드 위치(bitbucket prebuilt image repo):


Version 0.7.4.200 변경 사항

  • 모든 빌드가 OpenMP 를 사용하도록 만들어 졌습니다.
  • 단, AVX SIMD 명령어와 OpenMP 의 조합이 가장 좋은 것은 avx 빌드 이므로, 속도를 가장 빠르게 쓰고 싶으시다면,mrawviewer_avx 라 이름이 붙은 실행 파일을 쓰는 것이 좋습니다.


Version 0.6.90.180 변경사항

  • INI 설정에서 이미지를 읽을 때 수평/수직 flip 과 90,180,270 회전을 적용 하도록 할 수 있습니다.
    이 부분은 이미 open source 를 적용하고 있는 librawprocessor 기능 구현에 따른 것 입니다.
  • 이미지를 한번 읽은 다음, 다시 다른 크기의 이미지를 읽으면 이상하게 되는 버그를 수정.
  • libtinydicom 최신 버젼을 적용.
  • 화면 갱신 방법을 좀 더 다르게 변경, 가끔 아무런 갱신이 안되서 윈도우 크기를 조정하면 내용이 갱신 되는 것을 해결.
  • 이번 버젼부터 다운로드를 GitHub 에서 할 수 있도록 변경 했습니다.


Version 0.6.76.175 변경사항

  • Threshold 버튼이 먹통이 되는 현상 수정


Verison 0.6.76.172 변경사항

  • 간헐적 화면 갱신이 전체가 되지 않아 dimmimg 이 된 상태 (어두워진 상태) 로 남아 있는 부분이 없도록 수정.
  • PNG 저장시 뜨는 다이얼로그가 쓰기용으로 표시되도록 수정.
  • PNG 저장 후 저장 성공여부 출력 되도록 했으며, 성공시는 5초 뒤에 자동으로 메시지 창이 닫히도록 함.


프로그램 설명

이 프로그램은 설치가 필요 없으며, 단독 실행형 이나, MRawViewer.ini 는 실행파일과 함께 같이 사용하시는 것이 좋습니다.
또한 실행 파일이 총 3종류가 있는데, 각각 빌드된 환경이 다음과 같으므로, 본인의 CPU 에 맞는 것을 사용하시는 것을 권장 드립니다.

  • MRawViewer.exe :
    Pentium Pro 이후의 i686 모델을 기반으로 하는 모델로 최신 CPU 명령어 사용을 안함, 대부분의 x86 CPU 에서 사용가능.
  • MRawViewer_sse3.exe :
    Core2Duo 나 DualCore Intel 또는 AMD 의 SSE3 명령어 까지 지원 하는 CPU 용.
  • MRawViewer_avx.exe :
    3세대 이후의 Core I 나, AVX 명령어를 지원하는 AMD CPU 용.

만약 맞지 않는 CPU 에서 구동할 경우, 프로그램이 실행 되지 않고 경고창을 띄우고 종료 되게 됩니다.

또한 구동 가능한 최소 OS 는 Windows XP 이후 이므로, Windows XP 미만은 구동이 지원 되지 않을수 있습니다. 또한 Windows XP 에서는 최신 CPU 명령어를 사용한 실행파일이 모두 구동되지 않습니다.


이 프로그램에서 할 수 있는 기능은 다음과 같습니다.

  • 영상의 확대 축소:
    최소 20% 에서 최대 500% 까지 지원, 이때 시스템에 메모리가 커지는 영상 만큼 있어야 함.
  • 영상의 확대 축소시 여러 보간법 사용 가능:
    nearest, bilinear, bicubic, lanzcos 3
  • 실제 픽셀 거리 측정:
    쉬프트 키를 누르고 마우스를 drag 하면 파란 선이 나오면서 측정 가능.
  • 현재 클릭 위치 raw pixel matrix 확인 가능:
    마우스 오른쪽 클릭
  • 영상 히스토그램 확인 및, 구간을 잘라서 보기:
    threshold 버튼 활성화 상태시 적용 되며,
    threshold 구간은 histogram 영역에서 마우스 왼쪽, 오른쪽 버튼으로 최소, 최대를 설정.
  • 현재 여러 조건 (크기 변경 및, threshold) 이 적용된 영상을 8bit grayscale PNG 로 저장 가능
  • Ctrl+C 로 현재 이미지 창에 보이는 영역 클립보드로 복사
  • Ctrl+Shift+C 로 현재 여러 조건이 적용된 이미지 클립보드로 복사
    단, 너무 크게 영상이 잡혀 있으면 복사 안됨, 이때는 Save to PNG 로 사용.

영상 이동은 기본적으로 마우스 왼쪽 버튼으로 클릭후 끌어서 (dragging) 가능 합니다만, 키보드 방향키와 HOME/END/PgUp/PgDn 으로 각 모서리 이동이나, Space bar 로 화면 가운데 이동이 가능합니다.

이 외에도 많은 기능이 부가 개발 중 입니다만, 현재 시점에선 이정도 기능만 배포 합니다.
추후 DICOM 영상 출력시 overlay 로 기본 정보를 보게 한다거나 하는 것을 넣긴 하겠습니다만, 공개를 목적으로 만들어 지고 (사실은 제가 쓸려고 만든 툴 이긴 합니다만) 있기 때문에 저작권등에 걸리는 문제는 배제 하도록 하겠습니다.


Compiled with:

  • MinGW-W64 i686-posix-dwarf-rev1, Built by MinGW-W64 project, version 6.2.0


Open source libraries: