본문 바로가기

Developement

(142)
Mac OS X 용 Medical RAW Viewer 작업 중. 현재 Mac OS X 용 Medical RAW viewer 를 작업 중 입니다. 아직 Export Image 부분에서 오류가 나는 상태 입니다만 (FLTK 오류로 보임) 곧 이를 우회 하거나 다른 형태로 동작 할 수 있도록 수정 하도록 수정 중 입니다. 이 프로그램은 MRawViewer.app 으로 다운로드 할 수 있도록 베타 버젼을 올리고 있으며 아래 URL 에서 확인 할 수 있습니다. https://bitbucket.org/rageworx_applications/rawviewer/downloads/ 지원 하는 파일들은 16bit 값을 가지는 정수형 RAW 파일이나, 대부분의 DCM 파일들 입니다.
의료영상용 CLAHE 적용에 암부 보정하기. 방사선을 이용하는 의료영상에 기본적인 후보정 같은걸 안하면 대부분 알아보기 힘든 수준의 결과만 얻게 됩니다. 이런걸 인간이 시각적으로 차이를 구별하고, 더 나아가 의료진이 임상적인 판단을 돕기 위해서 LC(Local Contrast) 를 증가 시키는 방법을 사용하는데, 아마 이중 가장 오래되고 효과적이면서 많이 쓰이는 것이 Contrast Limited Adaptive Histogram Equalization (CLAHE) 알고리즘이 아닐까 합니다. 그런데 이 CLAHE 알고리즘을 그대로 사용하면 다음과 같은 문제가 생길 수 있습니다. 이 영상이 뭐가 문제인지는 바로 아래의 원본 영상을 대조 해 보면 차이를 알 수 있습니다. (빨간색 점선 안이 검게 타들어 가듯이 레벨이 전체적으로 변해 있는 것이 문제 ..
FLTK MPG123 GUI Player 0.1.0.2 FLTK 1.3.4-1(-ts) 64bit 와, fl_imgtk + mpg123 64bit build DirectX 를 결합한 오디오 플레이어를 진행 중 입니다. 물론 mpg123 을 쓰기 때문에 mp3 까지만 재생 하기 때문에 fl_imgtk 로 GUI 효과를 주는 것에 대한 테크 데모 정도가 될 듯 합니다. 아래는 금일 까지 만든 데모의 실행 파일 입니다. 64bit Windows 에서만 구동 됩니다. 실제 mp3 를 test.mp3 란 이름으로 바꾸고 실행 파일과 함께 구동 하시면 album art 가 있을 경우 배경 이미지와, 이미지 전체를 자동으로 읽어 오게 됩니다. 음악 컨트롤은 따로 만들지 않았고, 설계가 Mac OS X 나, Linux 모두 구동 되도록 만들고 있기 때문에 내부에 audio..
DirectX Sound 전역 오디오 생성 방법. DirectX Sound 에서 기본적으로 버퍼를 생성 하는 부분에서 보통 다음과 같이 한다고 SDK 를 통해 알고 있었습니다만 이렇게 할 경우, 현재 CooperativeLevel 로 지정된 윈도우의 포커스를 잃을 경우 갑자기 소리가 안나옵니다 ! ZeroMemory( &dsdesc, sizeof( DSBUFFERDESC ) ); dsdesc.dwSize = sizeof( DSBUFFERDESC ); dsdesc.dwFlags = DSBCAPS_STATIC | DSBCAPS_CTRLPOSITIONNOTIFY; dsdesc.dwBufferBytes = size; dsdesc.lpwfxFormat = &wavfmt; 그래서 구글신에게 찾아 보니, 버퍼 생성시 하나의 flag 하나인 DSBCAPS_GLOBAL..
Coming soon FLTK MPG123 GUI player. 이전부터 만들고 싶었던 아이폰 플레이어 답게 생긴 mp3 player 를 만들기 시작 했습니다. fl_imgtk 에서 만든 그래픽 처리 등등을 이용해서 앨범아트에 알파 마스크 씌어서 주변을 깍을수도 있고, 특정 크기로 모두 통일시킬수도 있고 하다 보니 제한된 영역 내에서 멋지게 표시되게 할 수 있는 처리 방법을 사용할 수 있게 되었습니다. 현재 mpg123 에 Direct X sound 를 붙여 보았는데, 나쁘진 않습니다만, DirectX 가 현재 할당된 윈도우의 포커스가 벗어 나게 되면 소리가 안나오는 관계로 결국 WASAPI 나 다른 방법을 써야 하게 되었습니다. 아니면 DXsound initialize 할때 다른 handle 을 넘겨 주면 되는건지 .. ??? 아무튼 GUI 는 그리 제 능력 안의 ..
FLTK 용 이미지 처리 라이브러리, fl_imgtk 업데이트. FLTK 용 이미지 처리 라이브러리인 fl_imgtk 의 새로운 업데이트를 GitHub 에 갱신 하였습니다. 별거 아닐 수 있긴 하지만, 뭔가 WPF 따위 안쓰고, QT 보다 매우 가볍고, 그렇다고 GTK+ 같은걸 도 안써도 되는 여러 조건에서 저에게 가장 적합한 것은 FLTK 뿐 이더군요. 하지만 너무 가볍게 만든 GUI 엔진이다 보니 그래픽 처리 부분은 거의 없다 싶이 하여, 만들게 된 것이 바로 fl_imgtk 입니다. M$VC 쓰는 분들이 FLTK 를 쓰는 경우가 거의 없다는 가정 하에, (사실 FLTK 를 쓰는 가장 큰 이유는 동일 소스로 Windows, Linux, Mac 에서 동일한 프로그램을 만들기 위한 목적) Windows 의 경우는 MinGW-W64 로 빌드 할 경우 가장 효과적인 성능..
FLTK 이미지 툴킷, fl_imgtk 공개 그간 다른용도로(?) 쓰기 위해 만들어 오던 FLTK 용 이미지 처리 엔진의 일부인 fl_imgtk 를 공개 하였습니다. 소스는 github 에서 받으실 수 있으며, 누구나 제한없이 사용 가능한 MIT License 를 적용하고 있습니다. (물론 원래 소스들에 대해서는 각자 따로 기재 해야 하는 제한이 있을 수 있습니다) https://github.com/rageworx/fl_imgtk 소스코드는 gcc 나 llvm-gcc, 아니면 MinGW-W64 만 make 로 빌드 할 수 있도록 지원 합니다만, 별도로 프로젝트 파일을 만들어서 M$VC 등에서도 사용은 가능하나, 아마 FLTK 를 M$VC 에서는 쓰지 않을것으로 보입니다. QT 를 M$VC 에서 개발하지 않는 것처럼요. fl_imgtk 가 현재 지원..
FLTK 1.3.4-1 을 위한 fl_imgtk 개발 중. FLTK 를 쓰면서 항상 불편 한 점은 여러 있을 수 있겠습니다만, 기본적으로 이미지 처리를 하는 기능이 너무 빈약 하다 보니, 이런 점들을 하나 둘씩 만들어 쓰다가 결국 이번에 하나로 뭉치기로 하였습니다. 아직까진 개발중인 부분이 많다 보니 어디에 올리진 않고 있습니다만, 곧 정리가 더 되는데로 GitHub 나 BitBucket 에 올리는 것을 목적으로 할 예정 입니다. 기본적으로 현재 여러 기능들이 지원 되며, 그 항목은 다음과 같습니다. Fl_RGB_Image 를 이용한 다양한 처리 ( Fl_JPEG_Image 나 Fl_PNG_Image 의 color depth 3 이상이면 사용 가능 ) 이미지 고속 회전 90도, 180도, 270도이미지 자유 회전 0~359 도 (alias 처리는 하지 않음)밝기..