본문 바로가기

전체 글127

Streamlit 시작하기 - 30일 챌린지 아무래도 파이썬하고 제일 친하게 지내다보니 파이썬 기반의 웹 어플리케이션 개발 툴로 요즘 인기가 높아지고 있는 Streamlit 을 써보기로 마음을 먹었다. 사실 예전에 다른 프로젝트에서 사용된 것을 본 적이 있었는데 그 당시에는 당장 해결해야할 일이 있어서 자세히 살펴볼 여유는 없었다. Tkinter 로 간단 간단하게 처리하기에 급급. Streamlit 공식 사이트를 둘러보다 보니 때마침 30일 챌린지(https://30days.streamlit.app/)가 있어서 일단 시작을 해본다. 설치도 간단해서 pip install streamlit 한 줄이면 된다. 열심히 설치가 진행되다가 pyarrow 모듈 관련해서 오류가 발생하였다. 찾아보니 pyarrow 에서 아직 python 3.11 버전을 지원하지 .. 2023. 2. 18.
DICOM RT 1994년 RSNA 미팅에서 논의가 시작되서 1997년 4개의 DICOM RT object들이 비준이 되었다고 한다 - RT Plan, RT Dose, RT Structure Set, RT Image. 그리고 최근 입자선치료를 위한 DICOM RT-Ion 도 있다. RT Plan 은 치료계획 관련된 내용들이 들어있고, RT Dose 는 선량분포에 관한 내용들, 그리고 RT Structure Set 에는 Anatomy 관련해서 contour, isocenter, marker 등의 내용들이 들어있다. 물론 RT Image 는 치료계획용 영상(주로 Simulation CT 영상) 관련된 내용들이 들어있다. RT Image 파일이 단순한 이미지 파일과 다른 점은 각각의 slice 별 영상정보 이외에 환자 정보,.. 2023. 2. 18.
[Python] DICOM 파일 열기 의료영상 관련 데이터들은 국제표준인 DICOM (Digital Imaging and Communications in Medicine) 형식을 따른다. DICOM-RT는 방사선종양학과에 특화된 DICOM 의 확장인데 의학물리학자의 임상 업무에서는 깊이 있게 다룰 일이 종종 생기기도 한다. 특히나 요즘과 같이 데이터가 기반이 되는 연구가 유행인 경우에는 더더욱. DICOM 파일을 다루는 소프트웨어들은 정말 다양하게 많은데, 그 중에서 별도의 구매 비용 없이, 그리고 상대적으로 편리하게 다룰 수 있는 가성비 슈퍼갑은 Python 이라고 해도 무리는 아닐 듯 싶다. Python 에는 DICOM 을 다룰 수 있는 라이브러리, Pydicom 이 있어서 어지간한 작업은 모듈에서 제공하는 기능들을 사용하면 다 해결된다.. 2023. 2. 17.
MacPorts 이용해서 설치한 Geant4 예제 build 하기 조금 오래된 macOS (High Sierra 10.13.6)에 MacPorts 를 이용해서 Geant4 를 설치해보았다. Xcode 설치와 xcode command line tool 설치 등의 사전 준비를 하고 sudo port install geant4 설치된 버전은 Geant4-10.6.3 이고, /opt/local/share/Geant4 폴더 아래에 Data 와 example, geant4make 등이 위치해 있다. /opt/local/bin 폴더 아래에 geant4.sh, geant4.csh 스크립트가 위치해 있다. /opt/local/lib 폴더 아래에 Geant4 폴더와 관련 하위 폴더들이 위치해 있다. 사용자 home directory 에 'g4work' directory 를 생성하고 그 .. 2022. 8. 15.
Job posting 두 개 - 연세암병원, MGH 하나는, 연세의료원 연세암병원 의학물리사 채용공고. 연세의료원 연세암병원 방사선종양학과에서 정규직전환조건으로 의학물리사를 채용한다고 합니다. 지원자격은 석사이상 졸업자 또는 졸업예정자로서 의학물리전문인 자격증 소지자, 방사선종양학과 임상경력자 우대한다고 하네요. 보다 자세한 내용은 연세암병원 의학물리팀 블로그에도 나와있다고 합니다. 온라인 입사지원 기한이 8월 10일까지 라고 하니 관심있는 분들은 도전해보시길! 두 번째는, MGH Post-doctoral position. Havard Medical School의 Harald Paganetti 그룹에서 TOPAS 개발에 참여할 박사후 연구원을 찾는다고 합니다. TOPAS 사용경력과 C++ 를 잘 다루는 사람을 찾는다고 하네요. 관심있는 분들은 CV 와 추.. 2022. 8. 2.
TOPAS MC 3.7 - 'GNUTLS_3_6_9' 관련 오류 발생할 때 MacOS 에서 이미 XQuartz 버전 및 graphic 관련해서 무언가 엉켜버려서 OpenGL도 제대로 사용못하고, Qt도 beam on 하면 갑작스럽게 종료되는 상황을 방치하다가, 급기야 궁여지책으로 Geant4 Virtual Machine(https://heberge.cenbg.in2p3.fr/G4VM/index.html)을 구해다가 설치해보았다. 설치한 가상머신은 CentOS 8 버전이였고, 해당 OS에 맞추어 가장 최신 버전의 topas 3.7 을 설치해놓고 데모를 실행해보니... 'GNUTLS_3_6_9' 관련 오류가 발생하였다. 사용자 포럼을 찾아보니 library 버전과 관련된 문제인 것으로 보이고 우선 급한대로 실행이 된다고 하는 topas 3.6.1을 다시 설치해 놓으니 데모는 잘 돌.. 2021. 12. 1.
Medical Terminology 의학용어는 대부분이 그리스어와 라틴어의 단어에서 유래되었다고 한다. 의학용어를 배우는 것은 또 하나의 외국어를 배우는 것에 비교가 될 정도로 양도 많고 생소한 표현들도 많이 있기는 하지만, 일정한 규칙을 갖는 경우가 많이 있어서 생각보다는 어렵지 않게(?) 단어의 의미를 유추해 볼 수 있지 않을까 싶다(물론 기본적인 바탕이 마련이 된 이후에). 대부분의 의학용어는 세 개의 구성요소로 나누어 진다고 한다 - roots, prefixes, and suffixes. 예를 들어 cardiology의 경우, heart를 뜻하는 root 'cardi', 그리고 suffix와 결합을 위한 combining 'o', 그리고 "study of"의 뜻을 가진 suffix '-logy'로 나누어 볼 수 있다: cardi +.. 2021. 8. 16.