티스토리

검색하기내 프로필

블로그 홈

초음파, DICOM 그리고 프로그래밍 쉽게 이해하기

구독자
1

초음파, DICOM 그리고 Software 프로그래밍에 대한 정보들을 공유하는 곳입니다.

구독하기 방명록
신고

주요 글 목록

  • DICOMweb, WADO-RS 와 FHIR글 내용

    의료 데이터의 관리와 상호 운영성을 지원하는 표준은 DICOM, HL7 만 공부해도 어려운데요.추가로 DICOMweb, WADO-RS, FHIR도 있고 많이 사용되고 있습니다.그럼 이것들은 뭘까요? 요즘은 Native Application보다 Web Application들이 훨씬 많이 개발되고 있습니다.의료기기 관련 Application들도 마찬가지인데...문제는 DICOM 과 같은 오래된 protocol을 이용해서 Web  Application을 만드는 것은 매우 어렵습니다.시도하지 않는 것이 건강에 좋습니다. 현대의 잘 만들어진 Web Application들은 대부분 RESTful API를 지원하도록 되어 있고 PACS 와 같은 시스템들도 마찬가지로 RESTful 서비스를 지원해야 하는 요구 사항이 ..

    좋아요2
    댓글0작성시간2025. 3. 19.
  • DICOM Conformance Statement(DCS)글 내용

    모든 DICOM의 표준문서에는 어마어마하게 많은 내용이 있기 때문에, 어떠한 제품이라도 모든 DICOM 표준을 따르도록 만드는 것은 거의 불가능하다. DCS 문서는 DICOM 표준을 따르도록 만든 제품이, DICOM 표준의 많은 항목 중에서 어떠한 기능을 지원하고 어떠한 내용에 적합한 지를 설명하고 보증하는 문서이다. DICOM 기능을 제공하는 대부분의 제품은 DCS 문서를 함께 배포하고 있기 때문에 누구든 쉽게 확인이 가능하다. 제품에 대한 DCS 문서에서 확인 가능한 내용들은 SOP Classes, Transfer Syntax, Character sets 등을 비롯하여 매우 다양한 정보를 가지고 있다. 그리고 나는 DCS 문서의 내용이 서로 동일한 제품들은 본 적이 없다. 대부분의 제품은, 모든 DI..

    좋아요0
    댓글0작성시간2024. 4. 19.
  • 소설 DICOM - HIS, RIS, PACS글 내용

    어느 겨울 아침, 칼바람에 살이 에이는 추위에도 St. Health 병원은 활기차게 시작됩니다. 우선 이 병원에 근무하는 주요 등장 인물들을 소개해야 겠군요. 환자들이 병원에 도착하면, 먼저 이 이야기의 첫번째 인물 HIS가 등장합니다. HIS는 마치 이 작은 마을의 마을장처럼 병원 내 모든 것을 통제하고 관리하는 중요한 역할을 합니다. HIS는 병원을 방문한 모든 환자의 정보, 의료 기록, 예약 정보, 처방전과 같은 모든 정보를 기억하고 있어요. 정말 어마어마한 기억력이군요. HIS는 환자가 병원에 도착하자마자 그들의 모든 건강 기록을 기억해 내고 의사와 간호사에게 알려 줍니다. 물론 처음 방문한 환자도 HIS가 제일 먼저 맞이하며 그들의정보를 확인 하죠. 병원의 식구들은 HIS 덕분에 병원 내의 진료..

    좋아요0
    댓글0작성시간2023. 10. 10.
  • SSL 인증서글 내용

    앞의 글에서는 RootCA와 인증서에 대해 알아 보았습니다. 인증서 - RootCA CA 는 Certificate Authority의 약자입니다. 인증서에 대한 발급 권한을 의미하는 것인데요. 인증서 발급 업체를 의미하기도 하지요. 인증서의 발급은 너무나 쉽게 할 수 있습니다. Open Source인 OpenSSL을 dicom.fadens.net 그러면 이제 SSL 인증서를 알아 볼 차례이군요. Code sign 인증서와 마찬가지로 SSL 인증서도 RootCA기관에 요청하여 서명을 받은 SSL 인증서를 획득할 수 있습니다. 서명이란, 인증서 data의 hash 값을 얻은 다음 그 값을 비밀키로 암호화 하고 그 결과를 인증서 data 에 붙이는 과정입니다. 인증서 내용 자체를 암호화 하는 것이 아님을 유의..

    좋아요0
    댓글0작성시간2023. 3. 7.
    게시글 이미지
  • 인증서 - RootCA글 내용

    CA 는 Certificate Authority의 약자입니다. 인증서에 대한 발급 권한을 의미하는 것인데요. 인증서 발급 업체를 의미하기도 하지요. 인증서의 발급은 너무나 쉽게 할 수 있습니다. Open Source인 OpenSSL을 사용해도 할 수 있으니까요. 그 말은 해커도 인증서를 발행할 수 있다는 말이겠네요. 나, 너 그리고 아무나.. 할 수 있는 것이죠. 그래서 세계적으로 신뢰할 수 있는 인증서를 발급 가능한 기관에 제한을 두게 되었습니다. 그런 인증서를 발급할 수 있는 기관을 RootCA라고 부릅니다. 잘 알려진 기관으로는 Comodo, DigiCert ,GlobalSign 등이 있구요. 최근에는 국내에도 NAVER가 RootCA의 권한을 갖게 되었습니다. 그런데 RootCA는 알게 모르게 우..

    좋아요0
    댓글0작성시간2023. 3. 6.
    게시글 이미지
  • 와~ 봄이네글 내용

    꽃집에 정말 오랜만에 들렀는데.... 따뜻한 날씨에 예쁘게 핀 꽃들과 또 그만큼 많은 꽃 보러 오신 분들... 그냥 지나칠 수가 없어서 마트에서 장보듯이 한수레 끌고 왔네요. 한 바구니 푸릇 푸릇! 기분이 좋아요.

    좋아요1
    댓글0작성시간2023. 3. 5.
    게시글 이미지
  • DICOM GSDF글 내용

    GSDF(Grayscale Standard Display Function) GSDF가 왜 필요한지 알아 보겠습니다. 우리가 인터넷으로 어떤 제품을 사는 경우에 제품의 사진을 보게 되면... 같은 사진이라도 디스플레이 장치에 따라서 제품이 다르게 보이는 경우가 많습니다. 그리고 실제로 실물을 받아서 보았을 때 다르게 보이기도 하구요. 그렇다면 의료 영상의 경우는 어떨까요? 만약 영상 의료기기로 촬영하는 시점에 사람이 눈으로 보는 영상과 그 영상이 전송되어 다른 사람이 다른 디스플레이 장치로 보는 영상이 서로 다르게 보인다면 이것은 문제가 있을 수 있을 것입니다. Sonographer가 환자의 의심되는 신체 부위를 촬영하고, 이것을 판독의가 살펴 볼때에는 영상에서 의심되는 부위가 잘 보이지 않을 수도 있습니..

    좋아요0
    댓글0작성시간2022. 8. 24.
    게시글 이미지
  • 데이터3법과 개인정보보호글 내용

    2020년에 처리된 데이터 3법(개인정보 보호법, 정보통신망법, 신용정보법)으로 인해 기업들이 개인정보를 활용할 수 있는 기반이 마련되었습니다. 의료데이터만 보더라도 AI를 활용하여 의료데이터를 학습 시킨 후 다양한 서비스를 제공하는 기업들이 많아지고 있습니다. 그런데 아마 저와 같은 일반 엔지니어들은 법에 대한 이해가 높지 않으므로 이러한 데이터를 어떻게 활용할 수 있는지 그리고 민감한 정보는 어떻게 처리해야 하는지에 대하여 많은 혼란을 겪을 수 밖에 없을것 같습니다. 그래서 경험에 의하여 알고 있는 부분들에 대해서만 적어 보겠습니다. 외국 기업들은 어떻게 하나요? 외국에도 개인정보 보호에 관련된 법들이 있습니다. HIPAA(미국), GDPR(유럽)등이 그것입니다. 외국계에 근무 경험으로 보면... 기..

    좋아요0
    댓글0작성시간2022. 7. 15.
  • 초음파 검사는 이미지도 안 좋은데...글 내용

    초음파 검사는 X-ray, CT, MRI에 비해 이미지도 선명하지 않은데 도대체 왜 하는 것일까요? 일단 CT, MRI로 뭘 하는지 알아 보겠습니다. CT(Computer Tomography) 글자 그대로 단층 촬영입니다. 저선량 X-Ray로 신체의 여러 단면에 빠르게 쏘아서 영상을 얻어내는 것이지요. MRI(Magnetic Resonance Imaging) 글자 그대로 고주파 신호를 조사하여 발생하는 자기 공명현상과 고주파 조사를 멈추었을때 수소 원자에서 발생하는 전자파을 획득해서 영상을 만드는 것입니다. 제가 전문가도 아니니 자세한 내용은 생략합니다. CT와 MRI는 모두 영상이 아주 선명합니다. 단, 단점도 있습니다. CT는 저선량이긴 하지만 어떻든 X-ray이기 때문에 방사선량 문제가 있을 수 있..

    좋아요0
    댓글0작성시간2022. 7. 11.
  • DICOM 3.0 쓰시나요?글 내용

    DICOM 3.0 쓰시나요? 이 질문을 여러번 들었던 것 같습니다. 당연히 "예"라고 대답을 하지만... 이 답변을 할 때마다 사실 좀 머뭇 거리게 됩니다. DICOM이라는 표준의 역사를 잠깐 살펴보겠습니다. 1. 1985년에 ACR-NEMA 300 이라는 표준이 Release 되었습니다. 2. 1990년에 ACR-NEMA V2.0 이 되었구요. 3. 1993년에 3번째 버전에 나오면서 마침내 DICOM 이라는 명칭으로 변경이 되었습니다. 즉, 이 거대한 표준 문서의 역사는 ACR-NEMA 300(Ver. 1)로부터 시작되어 ACR-NEMA (Ver. 2) 그리고 DICOM(Ver. 3)로 이어진 것입니다. DICOM 3.0이에요? 라는 말은 DICOM이 마치 1.0, 2.0이 있었다는 의미일 수 있는데..

    좋아요0
    댓글0작성시간2022. 7. 8.
  • MPPS(Modality Performed Procedure Step)글 내용

    아래 링크의 포스팅에서 MWL, Requested Procedure, Scheduled Procedure Step, PPS 에 대해 조금 설명 하였습니다. https://dicomis.tistory.com/25 DICOM 영상, 검사 과정과 Data DICOM data에는 영상 뿐 아니라 여러가지 정보가 함께 기록됩니다. https://dicomis.tistory.com/1 DICOM 은? 의료 영상 및 의료 IT에 대한 이야기를 하다 보면 빠지지 않고 등장하는 것이 DICOM이라는 용어입니 dicomis.tistory.com 위 용어들은 이제 MWL, RP, SPS, PPS 로 쓰겠습니다. PPS는 요약하면, 환자에 대해 스케쥴링된 각각의 Task들에 대해서 실제로 수행한 기록이 PPS가 되겠습니다. ..

    좋아요0
    댓글0작성시간2022. 6. 28.
    게시글 이미지
  • 위탁 판매라니 이런 세상이 있구나~!글 내용

    평생 프로그래밍만 하다가 집에서 쉬며 이것 저것 세상 돌아 가는 것들을 구경하고 있습니다. 그동안 몰랐던 게 너무 많았네요 프로그래밍이 하도 재미 있어서 .다른 길은 흘깃 쳐다보지도 않았었는데... 내가 다른 것에도 관심이 있을 수 있구나 하는걸 느꼈네요. 늙어도 프로그래밍만 해야지 하면서 살았었는데 현실은 정말 뼈저리게 그렇지 못하더군요. 나름 실력이 모자란거 같지는 않은데 말이죠. ㅋㅋ 프로그래밍은 계속 하고 싶으니 집에서 겸사 겸사 할 수 있는 부업은 없을까 기웃 거리다가 위탁 판매를 알게 되었네요. 이건 그냥 온라인에서 하는 장사 아닌가? 처음에는 그렇게 생각했었습니다. 마치 아주 예전에 C/C++을 최고로 여겼던 시절에 다른 language를 무시하던 그런 느낌 이랄까. 일단 한 번 경험이나 해..

    좋아요0
    댓글0작성시간2022. 6. 27.
  • 소켓 프로그래밍 6 - IOCP(1)글 내용

    아주 오래전에 IOCP에 관해 자료를 찾고 구현을 해보았는데... 그당시에는 자료가 정말 없었습니다. 그런데 이번에 생각이 나서 다시 써보려구 검색을 해보니 꽤 자료가 많네요. 오늘도 역시 누구나 이해가 되도록 쉽게 설명 하는것이 목표입니다. 어려워 보이는 것들도 개념이 확실하게 잡히면 쉬워 지니까요. 그래도 어려운 것을 쉽게 풀어나가는 것은 정말 쉽지는 않네요. IOCP 는 IO Completion Port입니다. Microsoft의 Windows에서 제공하는 기능입니다. 도대체 이건 뭘까요? 그리고 왜 소켓에서 많이 쓰는 걸까요? HDD를 사용하면서 컴퓨터를 사용하면 Input/Output 동작이 가장 많이 발생하는 장치 중에 하나가 대표적으로 HDD일 것입니다. HDD를 주로 사용하던 시절에는 IO..

    좋아요0
    댓글0작성시간2022. 6. 26.
    게시글 이미지
  • 소켓 프로그래밍 5 - Sliding Window글 내용

    TCP Socket Buffer 와 Sliding Window TCP 는 Send, Receive Buffer가 존재 합니다. UDP는 따로 존재하지 않는데....왜 그럴까요? 바로 Sliding Window 기법 때문입니다. TCP Socket은 송, 수신측에 Socket Buffer를 관리하고 있습니다. 크기는 개발자가 정할 수 있구요. 위 그림처럼 데이터를 보내는 Socket의 Buffer를 Send Buffer라고 받는쪽을 Receive Buffer로 하고 설명을 하겠습니다. 위 그림은 마치 긴 창틀에 왼쪽부터 오른쪽으로 유리창을 밀어 넣는 것과 비슷하니 Sliding Window라고 합니다. 중간에 Network 부분은 생략하고 보내고 받는 2개의 Socket Buffer를 위 그림처럼 붙여서 ..

    좋아요0
    댓글0작성시간2022. 6. 24.
    게시글 이미지
  • Network Byte Ordering글 내용

    앞서 posting한 DICOM에서의 Transfer Syntax에서도 Little Endian, Big Endian 에 관한 내용이 있습니다. DICOM 뿐만 아니라 일반적인 Socket programming 에서도 항상 byte order를 신경써야 합니다. 그런데 이건 도대체 왜 필요한 것일까요? CPU에 따라서 사용되는 Order가 다르다는 것은 대부분 알고 있을 테지만 도대체 무슨 의미 일까요? 저장소에 있는 File을 network을 통해 전송하는 경우를 생각해 보겠습니다. File 의 종류마다 Header가 각각 있을테니, 어떤 파일이 아래의 그림과 같다고 가정해 보겠습니다. File Loading 보통 Storage에 들어 있는 File data가 Memory에 올라 오려면 CPU 의 re..

    좋아요0
    댓글0작성시간2022. 6. 23.
    게시글 이미지
  • 소켓 프로그래밍 4 - Data Boundary글 내용

    TCP 와 UDP의 차이 둘의 차이에 대하여 몇가지 중요한 부분만 얘기해 보려고 합니다. 1. TCP는 연결 지향형 Protocol이고 UDP 는 비 연결 지향형 Protocol 입니다. 이 말의 의미는 TCP는 서버와 클라이언트간에 서로 연결되는 과정이 있어야 이후 서로 message를 주고 받을 수가 있지만 UDP는 상대방이 message 를 받던 말던 신경쓰지 않고 보내 버릴 수 있다는 의미입니다. 즉 UDP는 클라이언트를 대기하는 Listen 과정이 없고 서로 연결하는 connect 과정이 필요 없습니다. 가끔 UDP를 서버와 클라이언트 구조로 설명하는 경우가 있습니다만, 그것은 개발자가 Design 한 개념적인 의미, 즉 "서버와 클라이언트를 이렇게 두고 어떻게 message를 주고 받겠다" 를..

    좋아요1
    댓글0작성시간2022. 6. 23.
  • 소켓 프로그래밍 3 - Accept글 내용

    앞서 아래의 내용을 알아 보았습니다. 1. 서버측 소켓 준비와 Listening https://dicomis.tistory.com/37 Socket Programming 1 - binding 요즘은 대부분 Socket 자체를 이용해서 programming 하시는 분은 많이 없을 거라고 생각합니다. 하지만 대부분의 software가 network상에서 동작을 하고 있으니 모두 socket을 이용하고 있다고 봐도 되겠습 dicomis.tistory.com 2. 클라이언트측 소켓 생성과 연결 요청 https://dicomis.tistory.com/39 Socket Programming 2 - Client와 Port Range 앞의 글에서 서버 측의 Listen 까지의 과정을 살펴보았습니다. 서버가 Port 하..

    좋아요0
    댓글0작성시간2022. 6. 22.
    게시글 이미지
  • 소켓 프로그래밍 2 - Client와 Port Range글 내용

    앞의 글에서 서버 측의 Listen 까지의 과정을 살펴보았습니다. 서버가 Port 하나를 열고 Listen하고 있는 상태에서 Client는 연결 요청할 수 있습니다. Client 가 서버와 연결되는 과정을 보겠습니다. Client Connection Client도 우선 Socket을 생성합니다. 그리고 그림에서는 Connect API를 호출하도록 되어 있습니다. Server는 자신의 Address 와 Port 정보등을 구조체에 담아서 bind 함수에 넘기고 호출하였습니다. Client역시 Server의 Address 와 Port를 구조체에 담고 이번에는 connect 함수를 호출하였습니다. 그런데... Client는 왜 bind가 없는 것일까요? 사실은 Client역시 binding 을 하고 있고 그 과..

    좋아요0
    댓글0작성시간2022. 6. 21.
    게시글 이미지
  • DICOM GSPS글 내용

    Grayscale Softcopy Presentation State GSPS의 문서는 다음 Link를 참고 하세요. supplement33 문서입니다. https://www.dicomstandard.org/News-dir/ftsup/docs/sups/sup33.pdf 일단 GSPS 와 GSDF(Grayscale Standard Display Function)는 아주 밀접한 관계가 있는데 GSDF는 다음에 얘기해 보도록 하겠습니다. DICOM 과 IHE의 표준을 보면 대부분의 Application Entity들이 철저히 분업화 되어 있다는 것을 알 수 있습니다. 효율을 위한 것이겠지요, 마찬가지로 요즘에는 병원에 근무하시는 의사를 포함하여 모든 분들이 철저히 분업화 되었습니다. 이 말은 초음파, CT, M..

    좋아요0
    댓글0작성시간2022. 6. 19.
  • 소켓 프로그래밍 1 - binding글 내용

    요즘은 대부분 Socket 자체를 이용해서 programming 하시는 분은 많이 없을 거라고 생각합니다. 하지만 대부분의 software가 network상에서 동작을 하고 있으니 모두 socket을 이용하고 있다고 봐도 되겠습니다. 그래서 Socket Programming의 기본에 대해서 얘기해 보려고 합니다. 전공이 아니니 개발자 입장에서 알고 있는것만 가볍게... SOCKET 우리가 늘 전기 소켓을 연결해 전기를 사용할 수 있듯이 Software도 network에 연결하기 위하여 socket을 사용합니다. Software가 컴퓨터에 저장되어 있는 파일을 다룰 때에는, file에 대한 정보를 저장하고 가르키는 File Descriptor를 이용해서 읽고 쓰기를 하게 됩니다. 그런데 Socket도 Fi..

    좋아요0
    댓글0작성시간2022. 6. 19.
    게시글 이미지
문의안내
  • 티스토리
  • 로그인
  • 고객센터
© Kakao Corp.