본문 바로가기

전체 글

(1968)
[FLTK] HICON 에서 Fl_RGB_Image 로 변환. 이 소스 코드는 rk HDRi Studio 을 만들면서 필요에 의해서 만들어진 것 입니다만, FLTK 에서 자체적으로 윈도우를 만들어 쓸 때, 아이콘을 그리고 싶은데 막상 HICON 을 이미지 원본으로는 쓸 수 없을때 Alpha 를 가진 32bit RGB 이미지로 만들어 쓰기에 좋다고 하겠습니다. 먼저 icon_to_flrgb() 함수는 다음과 같습니다. Fl_RGB_Image* icon_to_flrgb(HICON hIcon) { BITMAP bm; ICONINFO iconInfo; GetIconInfo(hIcon, &iconInfo); GetObject(iconInfo.hbmColor, sizeof(BITMAP),&bm); int width = bm.bmWidth; int height = bm.bmHe..
SONY SR-32UY3 SDHC 32GB 사용기. 안드로이드에 쓰던 메모리가 또 괴사 하는 바람에 급히 하나 샀습니다. 뭔 속도가 90MB/sec 이나 나온다길래 그냥 샀더니 ... 왠걸.. 일단 결론 부터 말하면, 읽기만 90MB/sec. 비슷한 가격에 이정도 안나오는 요즘 메모리가 어디 있나 싶습니다만, 좀 더 비쌋다는걸 고려 하면 비추 하고 싶습니다. 차라리 바른전자 제품 사는게 낫습니다. 물론 가격이 바른전자가 좀 더 싸거나 하다면요.급한대로 사서 쓰는데 나쁘진 않습니다만, 국내 제품들 보다 좀 더 비싸게 주고 샀는데 뭔가 쓰기 속도가 저러니 그냥 기분이 좋지는 않습니다만, 가격대가 가지는 한계는 어쩔수 없나 봅니다. 그나마 MLC 라는게 믿을만한 일 이라면, 부디 죽지 않고 오래 가 주길 바랄 뿐 입니다.
무료 공개 DICOM viewer, v0.2.2.24 (오픈소스화) v0.2.2.24 업데이트 + 오픈소스 이 프로그램은 DVD 나 CD 에 DICOM 을 함께 넣고 보기 위해 만들어진 간단한 프로그램 입니다. 다만, 이 프로그램은 공개로 만들어 진데다, 표시 할 수 있는 최소 DICOM tag 가 한정 적 이므로, 이를 고려 하여 사용하시면 좋겠습니다. 물론 아직 버젼이 낮고, window width 표현력이 문제가 있는 부분이 발견 되고 있으므로, 참고용으로 사용하시면 좋을 듯 합니다. (최신 버젼에서 Window center, width 를 계산 하여 처리 하도록 변경 됨) 문자열 기본 인코딩은 UTF-8 을 기본으로 하고 있으며, DICOM tag 의 데이터 배열은 Little Endian 을 기본으로 하고 있습니다. 이 프로그램은 누구나 사용할 수 있으며, 실행..
RAGE DLC 다 구입한 겸, 다시 플레이 중 ... 언제였던가 까먹을 뻔 했던 2015년 11월에 구입 했던 Scorchers DLC... 이걸 다시 플레이 해 본다는걸 잊고 있다가 근래 ThinkPad E320 에 외부 쿨링팬을 달고 나서 게임을 얼마든지 즐길 수 있게 된 김에 열심히 하고 있습니다. 전엔 RAGE 같은걸 20여분 하면 과열로 노트북이 그냥 꺼졌는데, 중국 알리에서 안 외장 쿨러 덕에 소음과 엄청난 자리 차지를 얻고, 발열을 잡았습니다. 어쨋든 이 덕에 추은 겨울엔 보일러 꺼 둔 데스크탑이 있는 방에서 떨면서 게임 안하고 그냥 따듯한 거실에서 게임을 잔소리 좀 들으며 하는 편 입니다만, E320 에 탑재 된 외장 그래픽이 ATi HD6700m 1GB 인걸 감안한다 해도 꽤 퍼퍼먼스가 나쁘지 않게 게임을 즐길 수 있습니다. 물론 메모리가 ..
FLTK MDI form 구현... HDR imaging 을 시작 한 바, 이젠 color 쪽에서도 처리 할 수 있도록 만들고자 나름 있어 보이는 이름의 RK HDRi Studio 란걸 Open Source 로 만들기 시작 했습니다. 물론 아직 commit 은 커녕, repository 도 만들지 않았습니다만. 제목은 MFC 에나 있는 MDI form 을 FLTK 에서 구현 해 보고 있습니다만, 문득 드는 생각이 ... 이 짓거릴 왜 구현하고 있는거지? 란 생각이 듭니다. 그래도 만든거고 하니 어쨋든 관련 소스는 공개 할 생각 이긴 합니다만, 대체 이걸 구현해서 이 구태적인 GUI 형태를 왜 써야 하는걸까? 란 의문도 들고, 복잡 하네요. 구현도 그리 좋지 못하고. FLTK 를 쓰고 있지만, 윈도우 자체는 자체에서 그리는 형태가 되서 th..
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 를 사용하여 만들어 ..
gcc/MinGW 6.x 부터 생긴 경고, misleading indentation gcc 5 버젼 부터 개발을 해 오던 librawprocessor 에서 눈치를 못 채고 있던 컴파일 경고가 뜨기 시작 한걸 이번에 알았습니다. 아직 major release 가 이루어 지지 않았기 때문에 신경을 덜 쓴 것도 있긴 합니다만, 갑자기 이 오류가 눈에 띈 것은 누군가의 계시인건지 ... 이 오류는 gcc 6 버젼 부터 강화된 여러 조건별 비교문에 따른 것으로 아래처럼 코드가 되어 있는 경우 발생 합니다. 이 오류는 GNU gcc 6 가이드 웹 페이지를 보면 나오는데,https://gcc.gnu.org/gcc-6/porting_to.html 아래 처럼 복합적인 비교문으로 포인터와 숫자로 넘어오는 값을 함께 비교 할 때에는 브레이스 {} 로 묶어 주어야 합니다. 그래서 아래처럼 코드를 변경 하면 ..
의료 RAW 에 HDR 적용을 위한 test 결과 및 프로그램. X-Ray 로 부터 CR 이나 DR 영상을 횟득 하면, 이 역시 Film 대비 CMOS/CCD/TFT 센서 소자에 따라 실제 계조(빛은 아니지만, 빛 대신 방사선인 radiation 을 대체 해서 생각 하면 됩니다) 보다 못한 뭔가가 얻어지게 됩니다. 각 제조사 마다 이를 보정하기 위한 온갖 기능들이 있기 마련 입니다만, 저는 이런 특정 회사에 특화된 형태가 아니라 일반적인 이론들에 따라 후처리를 하는 것에 관심을 가져 보았습니다. 그래서 먼저 Erik Reinhard 교수님이 2005년에 이론을 수립 했던 Hight Dynamic Range 알고리즘을 연구해 보았습니다. 세상은 참 대단한 분들이 많기 마련 이지요. 그리고 이 이론을 C++ 코드로 만들어 봅니다. 수식에 따라 for() 를 남발 하면서 ..
사람이 죽어 나가는 회사라도 순실이면 괜찮아. 안타까운 청년이, 이전의 많은 백혈병으로 숨져간 목숨들에 이어 다시 또 한 삶이 79번째로 무너졌습니다. 올해 32인 어느 청년은 나라를 대표 한다는 어느 부역자 집안 회사에서 열심히 자신의 젊을을 백혈병이란 마지막과 함께 맞바꾸고 말았습니다. 뭐 이런 쓰레기 같은 생각을 할 수도 있을거 같습니다. 회사에서 일 하다 보면 사람이 죽을수도 있지 뭐가 문제지?나라를 대표 하는 회사에서 죽는데 영광으로 알아야지!이건 다 북한/나라를 전복시키는 집단/(기타등등 온갖 핑계, 아무거나 붙일 수 있음)의 소행이다 !어쩔수 없다, 회사가 사업을 하다 보면 그럴수도 있지. 정말 이딴 생각을 했다면 그 얼마나 천박한 생각 일까요? 어떻게든 몸 속에 들어 오면 사람의 몸이 망가질 수 밖에 없는 곳에서 일 하다, 지속적으로 ..
맥 사파리에서 플래시 구동이 실패 할 때. 요즘 시대에 아직도 Adobe Flash 를 써서 웹을 만드는 곳이 있을까? 하면 바로 이곳, tistory 를 대표적으로 손에 꼽아야 하겠습니다. HTML5 가 나오고 한지가 언제인데, 이곳은 여전히 9년전 쯤 쓰던걸 못 버리고 있습니다. 하지만 어쩌겠습니까? 여기서 뭘 하려면 이 보안의 구멍인 뭔가를 써야 한다니 ... 위 이미지 처럼 tistory 에서 이미지 올리기를 실패 하고 있으면, 보통 Adobe Flash 만 새로 깔면 될거 같은데, 새로운 사파리 부터는 아예 구동 방법이 변경 되었습니다. 그래서 새로 설치 한다 해도 계속 저런 오류가 뜨는데 (아마 보안설정 어쩌니 하는 팝업이 뜨긴 합니다만 불친절한 애플씨는 더 이상 알려 주지 않습니다) 이는 아래 처럼 해결 해야 합니다. 먼저 사파리를 ..
fltk-1.3.4.1-ts Mac OS 맥용 빌드 업데이트 ! 제가 FLTK-1.3.4-1 에서 clone 하여 사용 하고 있는 fltk-1.3.4-1-ts 판의 업데이트가 있었습니다. 보통 한 PC 에서만 쓰다 보니, 다른 PC 에서 쓰기 전 까지는 문제점을 못 발견 하는 것이 1인 개발자의 한계인 듯 합니다만 .. 어쨋든 간만에 맥에서 전체를 내려 받아 빌드 해 보니 문제가 많다는 점을 발견하고 대부분 수정 하였습니다.위치: https://github.com/rageworx/fltk-1.3.4-1-ts 맥이던 어디던 git 가 설치 되어 있다면 clone 을 해서 사용이 가능 합니다. 다만, Windows 에서 MSYS 와 MinGW-W64 를 이용해서 빌드 하신다면, config64.sh 를 한번 해 주셔서 configure 를 하신 다음 빌드 하시거나, cp..
openmp 병렬 처리를 이용한 librawprocessor 성능 향상의 예. 개발자가 뭔가를 설계 할때 어려움을 격는 부분이 항상 있는 부분이 있다고 한다면, 아마 for() 로 돌리는 구문을 어떻게 빠르게 할 것인가? 또는 이걸 thread 로 어떻게 만들 수 있을까? 일 겁니다. MinGW-W64 의 경우는 이 작업을 -fopenmp 명령과 함께 compile & link 하면 #pragma omp 를 사용할 수 있습니다. 다만, 3.0 까지는 지원이 안되기 때문에 좀 더 자세한 thread 분리는 어려운 부분이 있습니다. openmp 사용시엔 pthread 가 사용 되는건 추가로 인지 하고 있어야 합니다. 먼저 코드상에 직접 사용된 예를 보면 ... 위 영역 처럼 #pragma omp parallel for 만 지시해서 다음에 오는 for() 문 자체를 pthread 로 분..
RAW image resizer 2017-01-11-B 프로그램 소개 이 프로그램은 Windows 의 console 에서 구동되는 의료 영상 이미지의 크기를 다양한 필터와, 효과로 개선 해 주는 용도 입니다. 사용 가능한 것은 현재 다음과 같습니다.영상 크기 변경: nearest, bilinear, bicubic, laczos3, B-spline 필터를 제공sharpen 필터를 적용 할 수 있음median 필터를 적용 할 수 있음 이 프로그램은 제 open source 인 librawprocessor 를 이용해서 만든 것으로, 다음 위치에서 소스코드를 참고 할 수 있습니다.https://github.com/rageworx/librawprocessor 구동 제한WindowNT 6 kernel 이상의 OS (Windows 2000 이후)32bit 또는 64bit..
촛불은 계속 될 수 밖에 없다. 벌써 11회가 넘어 가는 범국민 촛불집회 였습니다. 하지만 일반적인 사람들의 생각과 달리 이 집회가 이루어 지는 이유의 근본은 아직도 뭘 잘못 했는지, 뭐가 잘못인지를 사람이 아니라 전혀 인지를 못 하는 것인지, 그냥 똥멍청 하게 헛소리나 하는것도 모자라, 이번엔 대리인격으로 나온 사람이 예수에다가 뭘 비교를 하지 않나 ... 참으로 이것이 난국이 아니면 뭐가 난국일까? 하는 생각이 많이 드는 요즘 시기 입니다. 저번주 신대철님에 이어, 이번엔 내 청춘중 담다디를 불렀던 이상은님까지 나오셔서 여러 국민들과, 아이들을 또는 가족의 일부를 잃은 사람들을 위해 위로의 곡들을 남기었습니다만 ... 상식적인 사람들이 비상식적인 모지란 것들을 상대 하는 것이 이 얼마나 어려운 일인지를 다시 배우는 시기 이기도 하단..
SanDisk Ultra® Dual USB Drive 3.0 = 쓰레기 Android 를 iPhone 과 병행해서 쓰다 보면, OTG 기능을 통한 데이터 백업이나 이동이 MTP 의 수많은 오류 등에 의해 필요한 경우가 많습니다. 어쨋든 그러한 이유로 micro USB OTG 기능이 탑재 되어 있다고 해서 나온 Sandisk 어느 제품을 사 봤더니 ... 성능이 이따구 입니다. 폰에서 쓰기 5MB/sec 정도 나오길래 왜 이러지? 했더니, 읽기만 150MB/sec 나오고 쓰기는 어디 싸구려 USB 성능 나옵니다. 이걸로 32GB 채우는게 그나마 다행 이었지, 진짜 64 나 128GB 라도 샀으면 지옥을 맛볼뻔 했습니다. 그냥 Mac 에서 FAT32 로 파일 옮기고 읽고, Android 로 파일 막 옮기고 (느리게 ! 아주 느리게 !) 할때나 쓸 만한 수준이지, 이거 살 돈 있..
한 겨울밤, 베네수엘라의 꿈은 끝나다. 잠시 크리스마스가 한창이던 (이젠) 지나버린 24일, 25일 간에 베네수엘라 엄천난 인플레이션 환율로 인해 윈도우10 프로를 우리나라 돈으로 약 4,000 원 경에 구입 할 수 있는 속보가 돌아 저 역시 이에 참여 했었습니다. 물론 윈도우10 홈을 아버지를 드리기 위해 구입을 해 두고, 리브레 오피스 대신 마소 오피스 2016을 맥에서 써 보려고 구입을 했었는데, 금일 새벽에 위와 같은 메일이 와 있었습니다. 아마 그날 구입한 것에 대해서는 모두 취소가 될 듯 합니다. 문제는 이 소식이 우리나라에서만 일어 난 것이 아니라, 전 세계적으로 이슈가 되었던 것이고 (위의 저 이미지도 미국에 있는 포럼에서 가져 온 것 임), 마소는 자신들의 이 엄청난 손해? (일단 팔린 것이나 1/50 까지 싸게 판 것이니?)..