<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>PhD 회사원의 일상이야기</title>
    <link>https://shlee.tistory.com/</link>
    <description>뭐라도 쓰고 싶고... 뭐라도 공유하고 싶어서 만드는 
나의 스토리공간</description>
    <language>ko</language>
    <pubDate>Tue, 12 May 2026 02:43:37 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>부지런한거북이</managingEditor>
    <image>
      <title>PhD 회사원의 일상이야기</title>
      <url>https://tistory1.daumcdn.net/tistory/4408527/attach/e3e55917dde14e1fab8b28edffed3cd4</url>
      <link>https://shlee.tistory.com</link>
    </image>
    <item>
      <title>[ch 3] X-ray CT (computed tomography) -  3차원 단층영상</title>
      <link>https://shlee.tistory.com/10</link>
      <description>&lt;p&gt;&amp;nbsp;일반적으로 엑스선이라는 용어와 가장 잘어울리는 단어를 뽑으라면 단연 CT일 것이다.&lt;/p&gt;
&lt;p&gt;CT는 &lt;b&gt;computed tomgraphy&lt;/b&gt;의 약자인데, 여기서 tomography는 단층영상기법으로 관찰대상을 직접 열거나 자르지 않고 단층 (단면도)영상을 얻을 수 있는 기술을 의미한다. 여러장의 단층영상을 겹겹이 쌓으면 우리가 상상하는 3차원의 이미지를 얻을 수 있는 것이다. 직접적인 단층영상기법이 아니라 2차원의 엑스선 투사영상을 이용하여 산술적인 계산에 의해 단층영상을 유도하기 때문에 Computed가 붙게된다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;819&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KPeBm/btqZcs53Vbe/2WkAlKsCdg04wNJ0RmZlZK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KPeBm/btqZcs53Vbe/2WkAlKsCdg04wNJ0RmZlZK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KPeBm/btqZcs53Vbe/2WkAlKsCdg04wNJ0RmZlZK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKPeBm%2FbtqZcs53Vbe%2F2WkAlKsCdg04wNJ0RmZlZK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;819&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;b&gt;X-ray CT&lt;/b&gt;는 대상 (물체 혹은 사람)의 단면에 대한 밀도분포를 X선 선형흡수계수 (linear absorption coefficient)로 변환하여 영상화하는 기법이다. 엑스선 투사영상에서 3차원의 단층영상으로 복원하는 과정을 재구성 (reconstruction)이라고 부르는데, 이 재구성 알고리즘의 종류에 따라 2차원 단층영상을 겹겹이 쌓거나 혹은 3차원 영상으로 한번에 재구성을 할 수 있다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;최초의 X-ray CT 상용장비는 1973년 Mayo clinic and Massachusetts General hospital에 설치되었는데, 설치 이후로 의료산업의 혁명이 시작되었다. 의료분야 뿐만아니라 산업용 CT, 덴탈용 CT로의 확장이 이어지면서 현재까지 수많은 의료 및 산업분야에서 매우 활발히 사용되고 있다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;덴탈영역에서도 X-ray CT영상이 매우 많이 사용되고 있는데, 임플란트 시술 뿐만 아니라 고해상도의 CT영상으로부터 치근단 진단 및 치료에도 활용되고 있다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;bandicam 2021-03-05 00-22-48-368.jpg&quot; data-origin-width=&quot;605&quot; data-origin-height=&quot;307&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bvPvnu/btqZfhbFy87/8c9fNhzeR9SzIaCL0Lxch0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bvPvnu/btqZfhbFy87/8c9fNhzeR9SzIaCL0Lxch0/img.jpg&quot; data-alt=&quot;덴탈용 CT영상, 출처 https://www.vatech.com/product_3d/2678&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bvPvnu/btqZfhbFy87/8c9fNhzeR9SzIaCL0Lxch0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbvPvnu%2FbtqZfhbFy87%2F8c9fNhzeR9SzIaCL0Lxch0%2Fimg.jpg&quot; data-filename=&quot;bandicam 2021-03-05 00-22-48-368.jpg&quot; data-origin-width=&quot;605&quot; data-origin-height=&quot;307&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;덴탈용 CT영상, 출처 https://www.vatech.com/product_3d/2678&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;X-ray CT는 특히 공학적으로 접근하여 해석하게 되면 상당한 수식을 풀어야 한다. 뿐만 아니라 영상재구성시 발생하는 여러 문제들 (artifact, noise등)을 개선하는 과정에서 고도의 수학 및 물리개념이 필요하기 때문에 심도있게 다루기 위해서는 대학원 석/박사 연구 수준으로 다뤄야 한다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;이번 포스팅에서는 간단하게 소개하는 것으로 마친다. 앞으로 최대한 수식이 없는선에서 하나씩 베일을 벗겨보도록 하자.&lt;/p&gt;</description>
      <category>의료영상</category>
      <category>3차원 영상</category>
      <category>dental</category>
      <category>X-ray CT</category>
      <author>부지런한거북이</author>
      <guid isPermaLink="true">https://shlee.tistory.com/10</guid>
      <comments>https://shlee.tistory.com/10#entry10comment</comments>
      <pubDate>Wed, 24 Feb 2021 01:02:57 +0900</pubDate>
    </item>
    <item>
      <title>[Ch 2] 세팔로그램 (Cephalogram)</title>
      <link>https://shlee.tistory.com/9</link>
      <description>&lt;p&gt;&amp;nbsp;세팔로그램은 우리가 흔히 아는 평판형의 엑스선 영상이다. 다만, 타겟으로 하는 부위가 &lt;b&gt;두개 안면부 (craniofacial area)&lt;/b&gt;라는 점에서 일반적인 엑스선 영상과의 차이가 있다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;그러나 물리적인 관점에서 볼 때 세팔로그램은 일반적으로 우리가 아는 엑스선 영상들 (가령, 흉부나 손, 발을 촬영하는 엑스선 영상장비, 혹은 비파괴 검사장비등)과 그 생성원리가 동일하다. 그럼에도 불구하고 세팔로그램과 같이 (다른 엑스선 영상들도 마찬가지로) 고유명사처럼 만들어 분류하는 이유는 각 사용목적을 분명하게 하기 위함이다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;다시 말하면 촬영하고자 하는 부위(대상)에 따라 방사되는 엑스선 세기나 엑스선 검출기의 사양이 확연하게 달리 설정된다. 혹은 때에 따라 사람에게 위험을 유발할 수 있기 때문에 부수적인 악세사리나 특정한 포지션의 자세를 취하게 유도되기도 하며 이를 가이드 하기위해 장치들이 특이한 형태로 제작되기도 한다. 따라서, 1895년 뢴트겐 (Whilhelm R&lt;span&gt;&amp;ouml;&lt;/span&gt;ntgen)이 엑스선을 발견한 이후로 수많은 과학자 및 공학자들이 이러한 엑스선을 수많은 분야로 확대적용하려고 노력했던 결과라고 볼 수도 있을 것이다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;bandicam 2021-02-23 00-42-05-048.jpg&quot; data-origin-width=&quot;432&quot; data-origin-height=&quot;440&quot; width=&quot;324&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oZkHp/btqYfWlK1MV/Vmo6Dsla6q2FZbuqo5go30/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oZkHp/btqYfWlK1MV/Vmo6Dsla6q2FZbuqo5go30/img.jpg&quot; data-alt=&quot;측면부 세팔로그램 영상 (LATERAL), 출처: Vatech Co., - https://www.vatech.com/product_2d/330&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oZkHp/btqYfWlK1MV/Vmo6Dsla6q2FZbuqo5go30/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoZkHp%2FbtqYfWlK1MV%2FVmo6Dsla6q2FZbuqo5go30%2Fimg.jpg&quot; data-filename=&quot;bandicam 2021-02-23 00-42-05-048.jpg&quot; data-origin-width=&quot;432&quot; data-origin-height=&quot;440&quot; width=&quot;324&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;측면부 세팔로그램 영상 (LATERAL), 출처: Vatech Co., - https://www.vatech.com/product_2d/330&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;본론으로 돌아와서, 이 세팔로그램은 주로 치과에서 많이 사용되며 치아-턱 사이의 각도나 배열, 전체적인 골격구조, 치아와 잇몸 사이의 연조직들의 상태 등을 확인할 수 있다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;특히, 치아-턱 사이의 각도나 배열을 한눈에 볼 수 있기 때문에 교정치료를 할 때 매우 중요한 역할을 한다고 한다.&lt;/p&gt;
&lt;p&gt;필자는 공학도 출신이라 해부학적인 배경을 자세히 기술하기는 어려우나, 어떤 방식으로 진료를 하는지 궁금하여 논문을 찾아 보았다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;아래 그림을 보면 측면 세팔로그램 영상에서 대표적인 점(landmark)을 정의하고, 각 점들의 관계를 통해 환자의 치열상태를 진단하는 방법으로 보인다. 뭔가 AI랑 엮으면 재밌을 것 같다는 생각이 드는데...&amp;nbsp;&lt;/p&gt;
&lt;p&gt;자료를 좀 검색해 봐야겠다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;bandicam 2021-02-23 00-56-16-941.jpg&quot; data-origin-width=&quot;531&quot; data-origin-height=&quot;314&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cndCQx/btqX6gr2U2o/iFxkLzJ6YAlBgtKwOJNF60/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cndCQx/btqX6gr2U2o/iFxkLzJ6YAlBgtKwOJNF60/img.jpg&quot; data-alt=&quot;세팔로그램을 활용하여 landmark를 추출하고 각 landmark를 조사하여 치료에 활용 1)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cndCQx/btqX6gr2U2o/iFxkLzJ6YAlBgtKwOJNF60/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcndCQx%2FbtqX6gr2U2o%2FiFxkLzJ6YAlBgtKwOJNF60%2Fimg.jpg&quot; data-filename=&quot;bandicam 2021-02-23 00-56-16-941.jpg&quot; data-origin-width=&quot;531&quot; data-origin-height=&quot;314&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;세팔로그램을 활용하여 landmark를 추출하고 각 landmark를 조사하여 치료에 활용 1)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;이번 포스팅에서는 세팔로그램이 어떤 영상인지 간단히 소개하였다.&lt;/p&gt;
&lt;p&gt;물리적인 의미나 수학적인 식들은 배제하려고 노력하였다. 그런데 꼭 필요한 부분이 있거나 갑자기 급 땡기면 쳅터를 만들어서 강의자료 형식으로 만들어 볼 까 싶기도 하다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;출처&lt;/b&gt;&lt;/p&gt;
&lt;blockquote data-ke-size=&quot;size14&quot; data-ke-style=&quot;style2&quot;&gt;1) Shumeng Wang et al., Automatic Analysis of Lateral Cephalograms Based on Multiresolution Decision Tree Regression Voting, &lt;i&gt;Hindawi Journal of Healthcare Engineering&lt;/i&gt;, DOI : &lt;a href=&quot;https://doi.org/10.1155/2018/1797502&quot;&gt;https://doi.org/10.1155/2018/1797502,&lt;/a&gt; 2018&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>의료영상</category>
      <category>Cephalogram</category>
      <category>세팔로그램</category>
      <category>아주 간단한 소개</category>
      <category>엑스선 의료영상</category>
      <author>부지런한거북이</author>
      <guid isPermaLink="true">https://shlee.tistory.com/9</guid>
      <comments>https://shlee.tistory.com/9#entry9comment</comments>
      <pubDate>Tue, 23 Feb 2021 01:08:06 +0900</pubDate>
    </item>
    <item>
      <title>[Ch 1] 의료용 파노라마 영상 (Panoramic radiograph)</title>
      <link>https://shlee.tistory.com/8</link>
      <description>&lt;p&gt;일반적으로 파노라마 영상은 실제 경관을 보는 것 같은 느낌을 주는 영상을 말한다.&lt;/p&gt;
&lt;p&gt;카메라 앵글에서 한 번에 담지 못하는 넓은 전경을 한 눈에 볼 수 있도록 하는 영상인데,&amp;nbsp; 흔히 360도 전방위의 구도를 평면에 담아내는 경우에 이 &lt;b&gt;&quot;파노라마&quot; &lt;/b&gt;라는 말을 사용한다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;360도 전방위가 아니더라도 카메라의 앵글을 초과하는 영역을 영상화 할 때 파노라마 영상이라고 부르기도 한다. 특정한 위치에서 한 장의 사진을 카메라로 찍은 후, 카메라를 일정 범위만큼 돌려서 한 장의 사진을 더 찍고 이 두 사진을 이어 붙이게 되면 바로 파노라마 영상이 되는 것이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;679&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bvkvkx/btqX82eCbET/qukdYwbS7QzKD7Bt2GQKV1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bvkvkx/btqX82eCbET/qukdYwbS7QzKD7Bt2GQKV1/img.png&quot; data-alt=&quot;파노라마 영상 구현의 컨셉&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bvkvkx/btqX82eCbET/qukdYwbS7QzKD7Bt2GQKV1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbvkvkx%2FbtqX82eCbET%2FqukdYwbS7QzKD7Bt2GQKV1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;679&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;파노라마 영상 구현의 컨셉&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;요즘은 스마트폰 어플을 통해 넓은 경치를 한 장의 사진으로 저장하는 것을 쉽게 수행할 수 있고 흔하게 볼 수 있는 기술이다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;의료분야에서 사용되는 파노라마 영상은?&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;파노라마 기법은 &lt;b&gt;치과분야 (덴탈분야)&lt;/b&gt;에서 활발히 사용되는데 아치형을 따라 배열된 치아, 잇몸, 혹은 턱관절을 평평하게 나열시킴으로써 진단에 큰 도움을 준다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;아래 그림은 의료용 덴탈 파노라마 영상이다. 대개 이러한 파노라마 영상은 엑스선 투과영상을 기반으로 하며 좁은 폭의 센서를 사용한다. 엑스선원과 좁은폭의 센서를 일렬로 배열한 후, 사람의 악궁 (arch)형태를 따라 회전시키면서 연속적으로 엑스선 영상을 획득한다. 이후, 적절한 간격으로 각 영상들을 합치면 아래와 같은 파노라마 영상이 얻어지는 것이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;bandicam 2021-02-21 20-04-02-683.jpg&quot; data-origin-width=&quot;535&quot; data-origin-height=&quot;289&quot; width=&quot;554&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dSAs9d/btqX6gYwXFc/0rJqsDvkY7lB7mMSqdNfjK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dSAs9d/btqX6gYwXFc/0rJqsDvkY7lB7mMSqdNfjK/img.jpg&quot; data-alt=&quot;의료용 덴탈 파노라마 영상, 출처 : Vatech Co. -&amp;amp;amp;nbsp;https://www.vatech.com/product_2d/2715&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dSAs9d/btqX6gYwXFc/0rJqsDvkY7lB7mMSqdNfjK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdSAs9d%2FbtqX6gYwXFc%2F0rJqsDvkY7lB7mMSqdNfjK%2Fimg.jpg&quot; data-filename=&quot;bandicam 2021-02-21 20-04-02-683.jpg&quot; data-origin-width=&quot;535&quot; data-origin-height=&quot;289&quot; width=&quot;554&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;의료용 덴탈 파노라마 영상, 출처 : Vatech Co. -&amp;nbsp;https://www.vatech.com/product_2d/2715&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;치과에서 파노라마 영상을 찍는 경우&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;대부분의 치과에는 파노라마 촬영장비가 설치되어 있으며, 치아 주변으로의 병변진단을 목적으로 사용된다. 주로 사용되는 케이스를 정리하면 다음과 같다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;환자가 특정한 증상을 보이거나 덴탈과 관련된 질병신호가 발견 되었을 때&lt;br /&gt;- 의심되는 증상을 확인하거나, 주변에 추가적인 병변을 발견하기 위해서 사용&lt;/li&gt;
&lt;li&gt;교정치료(orthodontic treatment)를 목적으로 할 경우&lt;br /&gt;- 치열의 상태를 관찰하기 위해서 사용&lt;/li&gt;
&lt;li&gt;사랑니 (third molars) 발췌 시술 전&lt;br /&gt;- 특히, 하악 아래쪽에 위치한 근관(신경)과 사랑니 사이의 거리를 확인하기 위해서 사용됨&amp;nbsp;&lt;/li&gt;
&lt;li&gt;외상장애 진단&lt;br /&gt;- 치아가 물리적인 외력에 의해 균열 및 골절이 발생했을 경우에 사용됨&lt;/li&gt;
&lt;li&gt;턱관절 (temporomandibular joint, TMJ) 이상을 진단할 때 사용&lt;br /&gt;- 주로 하악의 관절돌기 (mandibular condyle) 이상을 진단할 때 사용되며 근막 통증, 기능장애, 내부 디스크 이상과 같은 증상과 구분해서 사용해야 함&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;이외에도 발표되는 임상 논문들을 보면 의료용 덴탈 파노라마 영상을 통해 얻을 수 있는 정보들은 다양하다.&lt;/p&gt;
&lt;p&gt;또한, 기술이 발전함에 따라 기존에 진단이 어려웠던 부위가 진단가능하도록 바뀐 경우도 있다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;치과용 파노라마 영상기법은 개발된 이후로 지금까지 모든 치과에서 굉장히 많이 사용되고 있으며, 사람 뿐만 아니라 반려동물을 위한 파노라마 영상장비도 개발되어 출시되고 있다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; 엑스선 기반의 영상기법 중 매우 흥미로운 기술 임에 분명하다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;이번 포스팅에서는 간단하게 치과용 파노라마 영상기법에 대해서 소개하였다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;치과용 파노라마 영상기법의 기술동향에 대해서는 앞으로도 관심있게 지켜보며 포스팅 할 예정이다. 흥미있는 논문을 보게 된다면 간단하게 리뷰해서 흔적을 남길 예정이며 임상논문 또한 관심가지고 지켜 볼 예정이다.&lt;/p&gt;</description>
      <category>의료영상</category>
      <category>Panoramic radiograph</category>
      <category>엑스선 영상기법</category>
      <category>치과용 파노라마 기술</category>
      <author>부지런한거북이</author>
      <guid isPermaLink="true">https://shlee.tistory.com/8</guid>
      <comments>https://shlee.tistory.com/8#entry8comment</comments>
      <pubDate>Mon, 22 Feb 2021 00:18:30 +0900</pubDate>
    </item>
    <item>
      <title>What makes you + 형/ 동.원   뭐가 널 ~하게 만들어? / 왜 ~하니?</title>
      <link>https://shlee.tistory.com/5</link>
      <description>&lt;p&gt;. What makes you so sure ? : 어떻게 그렇게 확신해?&lt;/p&gt;
&lt;p&gt;. What makes you happy ? : 뭐가 널 행복하게 하는거야?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;* 유사표현&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;Why are you + 형용사 ?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;Why do you + 동사원형 ?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;  Dear diary&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Hi my diary.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;As I am used to treadmill, I am getting away from excitement.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;But what makes me happy?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;It's... Friday night.  &amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>Diary</category>
      <category>diary</category>
      <author>부지런한거북이</author>
      <guid isPermaLink="true">https://shlee.tistory.com/5</guid>
      <comments>https://shlee.tistory.com/5#entry5comment</comments>
      <pubDate>Sat, 6 Feb 2021 00:38:18 +0900</pubDate>
    </item>
    <item>
      <title>[파이썬] raw 영상(데이터) 불러오기 및 저장하기 (read raw/write raw)</title>
      <link>https://shlee.tistory.com/4</link>
      <description>&lt;p&gt;&lt;b&gt;1. Read raw&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Python으로 raw영상을 불러오자.&lt;/p&gt;
&lt;p&gt;영상처리쪽 공부를 하게되면 raw파일을 많이 접할 수 있다.&lt;/p&gt;
&lt;p&gt;프로그래밍의 첫 번째는 파일 불러오기 ! (이것저것 만져보려면 먼저 파이썬에 영상을 불러와야 한다).&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;영상(데이터)을 불러오는 것은 여러가지 방법이 있고, 라이브러리도 다양하다.&lt;/p&gt;
&lt;p&gt;여기서는 가장 간단한&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;numpy&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;라이브러리를 사용해보자.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;먼저 numpy를 import 한다.&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #ffffff; background-color: #666666;&quot;&gt;import numpy as np&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;open 함수를 이용해서 file을 open하자.&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;background-color: #666666;&quot;&gt;&lt;span style=&quot;color: #ffffff;&quot;&gt;fid=open(&quot;&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;color: #ffffff;&quot;&gt;경로및파일명.RAW&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: #ffffff;&quot;&gt;&quot;,&quot;rb&quot;&lt;/span&gt;&lt;span style=&quot;color: #ffffff;&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;여기서, 경로는 역슬러쉬 \ 아니라 슬러쉬 / 를 사용한다.&lt;/p&gt;
&lt;p&gt;이제 fromfile을 이용해서 파일을 읽자.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;background-color: #666666;&quot;&gt;&lt;span style=&quot;color: #ffffff;&quot;&gt;Img=np.fromfile(fid, dtype='int16', sep=&quot;&quot;&lt;/span&gt;&lt;span style=&quot;color: #ffffff;&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;*참고*&lt;/p&gt;
&lt;p&gt;numpy의 데이터 타입(dtype)은 다양하다.&lt;/p&gt;
&lt;p&gt;참/거짓을 나타내는 boolean (bool), 정수형(int8, int16, int32, int64), 양의 정수형(uint8, uint16, uint32, uint64)&lt;/p&gt;
&lt;p&gt;부동소수형(float16, float32, float64), 복소수형(complex64, complex 128), 그리고 문자형(string_)이 있다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이렇게 Img라는 변수에 RAW 영상이 불러졌다.&lt;/p&gt;
&lt;p&gt;그런데, 이렇게 불러들인 영상은 1차 벡터배열로 저장되었을 것이다 (1 x n의 형태로)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;영상의 경우, 2차 행렬(혹은 array)의 형태로 되어 있으므로&amp;nbsp;재배열을 해줘야한다.&lt;/p&gt;
&lt;p&gt;재배열은 numpy의 reshape함수를 사용하자.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #ffffff;&quot;&gt;Img=np.reshape(Img,[2300, 4000&lt;/span&gt;&lt;span style=&quot;color: #ffffff;&quot;&gt;])&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;여기서, 2300과 4000은 RAW영상의 가로/세로 크기를 나타낸다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2300과 4000이라는 숫자는 예제로 사용한 것이므로 불러오려는 영상의 크기를 사전에 알아내어서 그 값으로 교체해야 된다&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이제 이어서 해보자.&lt;/p&gt;
&lt;p&gt;C:\USERS\0000.RAW 라는 파일을 읽어와서 imshow로 display할 것이다.&lt;/p&gt;
&lt;p&gt;여기서 0000.RAW 파일은 16비트의 정수형이며, 2000x1500의 픽셀을 가지는&amp;nbsp;gray scale 영상이라고 한다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;참고로, 영상을 디스플레이 하기 위해서 matplotlib를 사전에 설치한다.&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;(anaconda prompt에서 activate TEST -&amp;gt; pip install matplotlib 입력, 이전 포스터 참고)&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;import numpy as np&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;from matplotlib import pyplot as plt&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;fid=open('C:/USERS/0000.RAW',&quot;rb&quot;)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;fid.close()&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Img=np.fromfile(fid,dtype='int16', sep=&quot;&quot;)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Img=np.reshape(Img, [2000,1500])&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;plt.imshow(Img,cmap='gray', vmin=0, vmax=500)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;이제 Img라는 변수에 2차 행렬이 array형태로 저장되었을 것이다.&lt;/p&gt;
&lt;p&gt;(외부에서 파일을 불러오거나 저장할 경우, open으로 지정된 변수는 항상 닫아주도록 하자.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;fid.close()&lt;/b&gt;함수를 활용하면 된다)&lt;/p&gt;
&lt;p&gt;그리고 영상을 plot하기 위해서 matplotlib의 imshow함수를 사용하였다.&lt;/p&gt;
&lt;p&gt;상기 코드를 보면 cmap은 gray이고 영상의 최소, 최대 윈도우 레벨은 0~500으로 설정하였다.&lt;/p&gt;
&lt;p&gt;cmap을 다르게 설정하고 싶다면 구글에서 검색하면 다양한 scale들이 있으니 참고하자.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;2. Write raw&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;불러들인 Img라는 영상을 이리저리 처리해서 Img_new 라는 변수가 탄생되었다고 하자 (이후에 영상처리 관련 알고리즘을 소개할 것이다).&lt;/p&gt;
&lt;p&gt;이제 Img_new라는 영상을 Result.RAW로 저장하고 싶다.&lt;/p&gt;
&lt;p&gt;(실수가 되어서 float32의 dtype을 가지고 파일크기는 [1900, 1400]이 되었다)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;먼저, 동일하게 open함수를 이용한다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;background-color: #666666;&quot;&gt;&lt;span style=&quot;color: #ffffff;&quot;&gt;fid=open(C:\USERS\Result.RAW,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ffffff;&quot;&gt;&quot;bw&quot;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이제 numpy의 tofile을 할용한다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #ffffff; background-color: #666666;&quot;&gt;Img_new.tofile(fid)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #ffffff; background-color: #666666;&quot;&gt;fid.close()&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이상이다. 매우 간단하다  &lt;/p&gt;
&lt;p&gt;물론, numpy를 import하는 것은 잊지말자.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;fid=open(C:\USERS\Result.RAW,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&quot;bw&quot;)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Img_new.tofile(fid)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;fid.close()&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;오늘의 포스터는 여기까지~&lt;/p&gt;
&lt;p&gt;다음에는 영상의 경로나 크기등을 따로 config로 저장하는 법과 시리즈의 영상들을 한번에 불러오는 방법들&lt;/p&gt;
&lt;p&gt;(for 문, str() 함수 활용법등)을 포스팅 할 것 같다.&lt;/p&gt;</description>
      <category>파이썬</category>
      <author>부지런한거북이</author>
      <guid isPermaLink="true">https://shlee.tistory.com/4</guid>
      <comments>https://shlee.tistory.com/4#entry4comment</comments>
      <pubDate>Fri, 5 Feb 2021 00:09:53 +0900</pubDate>
    </item>
    <item>
      <title>be used to + ing / 명   ~에 익숙하다.</title>
      <link>https://shlee.tistory.com/3</link>
      <description>&lt;p&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;* 주의 : used to + 동.원 = ~하곤 했다.&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;. I am used to it now : 나는 이제 그것에 익숙해.&lt;/p&gt;
&lt;p&gt;. I am used to living alone : 나는 혼자 사는 것에 익숙해.&lt;/p&gt;
&lt;p&gt;. I am used to work overtime : 나는 야근에 익숙해&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;  Dear diary&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Hi my diary.&amp;nbsp;&lt;br /&gt;It's been a long and tiring day.&lt;/p&gt;
&lt;p&gt;I went to work on the weekend, besides, I worked overtime.&lt;/p&gt;
&lt;p&gt;With this going on,&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt; I am used to work overtime now&lt;/span&gt;&lt;/b&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Diary</category>
      <category>diary</category>
      <author>부지런한거북이</author>
      <guid isPermaLink="true">https://shlee.tistory.com/3</guid>
      <comments>https://shlee.tistory.com/3#entry3comment</comments>
      <pubDate>Sun, 31 Jan 2021 22:23:42 +0900</pubDate>
    </item>
    <item>
      <title>윈도우 10에서 텐서플로우 2.0 GPU 버전을 설치해보자!</title>
      <link>https://shlee.tistory.com/2</link>
      <description>&lt;p&gt;&lt;b&gt;&lt;span&gt;윈도우 10에서 텐서플로우 2.0 GPU 버전을 설치해보자!&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;텐서플로우, 특히 GPU버전을 사용하기 위해서는 사전에 준비해야 될 소프트웨어가 있으며 각 소프트웨어의 버전들을 숙지할 필요가 있다&amp;nbsp;&lt;/span&gt;&lt;span&gt;(호환성의 문제).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;텐서플로우 설치과정과 버전을 아래와 같이 정리하였다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span&gt;1. Anaconda3-2019.10-Windows-x86_64.exe&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;(아나콘다는 사실 버전을 꼭 맞출 필요는 없다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;환경변수를 생성해서 내부에 필요한 파이썬 버전을 새로 설치하면 됨)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;여기 repo에 들어가면 릴리즈된 아나콘다를 버전별로 다운받을 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;a href=&quot;https://repo.anaconda.com/archive/&quot;&gt;https://repo.anaconda.com/archive/&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span&gt;2. Python 3.6.10 (anaconda 가상환경 생성해서 설치하자)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;​&lt;span&gt;&lt;/span&gt;&amp;nbsp;&lt;span&gt;​아나콘다 설치 후,&amp;nbsp;Anaconda Prompt를 실행한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;일반적으로 (base) C:\Users\user&amp;gt; 형식으로 도스창이 나타난다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;여기서 가상환경 생성 command를 입력하면 된다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;i&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #ffffff; background-color: #666666;&quot;&gt;(base) C:\Users\user&amp;gt;conda create -n TEST python=3.6.10&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;위와 같이 입력하여 실행하면 설치를 할 것인지 물어보는 데 y 를 눌러주면 설치진행.&lt;/p&gt;
&lt;p&gt;설치가 완료되면 TEST 라는 이름의 가상환경이 생성되고 해당 환경의 python은 3.6.10이 설치된다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span&gt;* TIP *&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;​가상환경 삭제시,&lt;span style=&quot;color: #ffffff; background-color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #ffffff; background-color: #666666;&quot;&gt;conda env remove -n TEST&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;생성된 가상환경 리스트&lt;span style=&quot;background-color: #666666; color: #ffffff;&quot;&gt;&amp;nbsp;conda env list&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;가상환경 활성화&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ffffff; background-color: #666666;&quot;&gt;activate TEST&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;가상환경 비활성화&lt;span style=&quot;color: #ffffff; background-color: #666666;&quot;&gt;&amp;nbsp;deactivate&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span&gt;3. Tensorflow&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span&gt;v.&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span&gt;2.0.0&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Tensorflow 2.0을 설치할 것이다. default는 CPU모드이다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;background-color: #666666; color: #ffffff;&quot;&gt;1)&amp;nbsp;(base) C:\Users\user&amp;gt;activate TEST&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;background-color: #666666; color: #ffffff;&quot;&gt;2)&amp;nbsp;(TEST)&amp;nbsp;C:\Users\user&amp;gt;pip install tensorflow==2.0.0&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;향후, TEST라는 가상환경에서 코딩을 하다보면 python 라이브러리들을 추가로 설치할 일들이 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;위와 같이 conda install **** 등으로 입력하면 원하는 라이브러리를 설치할 수 있다.&amp;nbsp;​&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span&gt;4. CUDA&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span&gt;v.&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span&gt;10.0&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span&gt;​&lt;/span&gt;&lt;/b&gt;&lt;span&gt;Google에서 &quot;NVIDIA cuda 10.0&quot; 검색하면 아래와 같이 archive를 선택해서 들어간다.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;a href=&quot;https://developer.nvidia.com/cuda-10.0-download-archive&quot;&gt;CUDA Toolkit 10.0 Archive | NVIDIA Developer&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;(&lt;a href=&quot;https://developer.nvidia.com/cuda-10.0-download-archive?target_os=Windows&amp;amp;target_arch=x86_64&amp;amp;target_version=10)&quot;&gt;https://developer.nvidia.com/cuda-10.0-download-archive?target_os=Windows&amp;amp;target_arch=x86_64&amp;amp;target_version=10)&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;다운로드 후 알아서 잘 설치 (yes 버튼 누르기)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span&gt;5. cuDNN v.7.6.0&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Google에서 &quot;NVIDIA cudnn download&quot;라고 검색한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;a href=&quot;https://developer.nvidia.com/cudnn&quot;&gt;https://developer.nvidia.com/cudnn&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;cuDNN을 다운로드 하기 위해서는 nvidia 홈페이지에 회원가입을 해야한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;귀찮더라도 회원가입 후, download 버튼을 눌러서 들어가면&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;최신 릴리즈된 버전들을 다운받을 수 있게 되어 있는데,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;아래에 작은글씨로&amp;nbsp;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;a href=&quot;https://developer.nvidia.com/rdp/cudnn-archive&quot;&gt;Archived cuDNN Releases&lt;/a&gt;&amp;nbsp;라고 적힌 걸 찾아야 한다.&lt;/p&gt;
&lt;p&gt;버전이 상당히 많은데&amp;nbsp;&lt;a href=&quot;https://developer.nvidia.com/rdp/cudnn-archive#a-collapse760-10&quot;&gt;Download cuDNN v7.6.0 (May 20, 2019), for CUDA 10.0&lt;/a&gt;&amp;nbsp;를 찾아서 다운로드 한다.&lt;/p&gt;
&lt;p&gt;cuDNN을 다운받아서 압축을 풀면 cuda 폴더가 나오고 bin, include, lib 폴더가 안에 있는 것을 확인할 수 있다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;각 폴더안의 파일들을 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0&lt;/p&gt;
&lt;p&gt;에 들어가서 동일폴더 속에 파일들을 붙여넣어야 한다.&lt;/p&gt;
&lt;p&gt;(예, C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin 폴더에 들어가서 cudnn64_7.dll 파일 붙여넣음)&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span&gt;6. Tensorflow-gpu v.2.0.0&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;​이제 다시 anaconda prompt를 실행시켜 cmd창에 아래 command를 입력한다.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;1)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ffffff; background-color: #666666;&quot;&gt;(base) C:\Users\user&amp;gt;activate TEST&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;2)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ffffff; background-color: #666666;&quot;&gt;(TEST)&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #ffffff; background-color: #666666;&quot;&gt;&amp;nbsp;C:\Users\user&amp;gt;pip install tensorflow-gpu==2.0.0&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;제대로 실행하는지 확인해보자!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;현재 TEST 가상환경이 활성화 되어 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;여기서 'python'을 입력하면 python이 실행된다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;여기서&lt;span style=&quot;color: #ffffff;&quot;&gt;&lt;span style=&quot;background-color: #666666;&quot;&gt;&amp;nbsp;import tensorflow as tf&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #ffffff; background-color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;를 입력해서 tensorflow가 정상적으로 import 되는지 확인해보자!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span style=&quot;color: #ffffff;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span style=&quot;color: #ffffff;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;두 번째는 간단한 tensorflow 함수를 실행시켜 본다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #ffffff; background-color: #666666;&quot;&gt;print(tf.__version__)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;먄약 2.0.0 이라는 메시지가 return 된다면 정상적으로 import 된 것이다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span style=&quot;color: #ffffff;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span&gt;마무리&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;​&lt;span&gt;Tensorflow 는 python, CUDA, cuDNN, numpy 등의 버전이 맞지 않으면 실행되지 않는다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;지금 이순간에도 각 툴들은 업데이트되고 있으며 무조건 최신버전을 고집하다보면 수많은 에러들을 경험할 것이다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;tensorlfow의 버전을 2.0 보다 높은 버전을 사용할 계획이라면,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;해당 버전에 맞는 python, numpy, CUDA, cuDNN 버전을 잘 체크해서 추가 가상환경 속에 설치하도록 하자&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;(여차하면 롤백할 수 있도록)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;CUDA는 중복으로 설치가 가능하고, cuDNN이야 파일 3개만 덮어쓰는 거니까 버전 업데이트 및 롤백이 어렵지 않을 것이다.&lt;/p&gt;</description>
      <category>텐서플로우</category>
      <category>인공지능</category>
      <category>텐서플로우 설치</category>
      <author>부지런한거북이</author>
      <guid isPermaLink="true">https://shlee.tistory.com/2</guid>
      <comments>https://shlee.tistory.com/2#entry2comment</comments>
      <pubDate>Sun, 31 Jan 2021 21:58:56 +0900</pubDate>
    </item>
  </channel>
</rss>