1. SSH 서버 설치 SSH 서버의 설치와 접속 방법은 다음을 참조한다. Ubuntu 20.04 - SSH 설치와 접속 방법 (codechacha.com) Ubuntu 20.04 - SSH 설치와 접속 방법 Open SSH Sever를 설치하면, 다른 PC의 SSH Client에서 접속할 수 있습니다. 설치 과정을 소개합니다. Terminal에서 다음과 같은 명령어로 Open SSH Server를 설치합니다. sudo apt install openssh-server SSH를 설치하면 codechacha.com 2. 서버 ID 중첩 접속에러 SSH Client 에서 접속할 때 에러가 발생했었다. (Warning: remote host identification has changed) 이유는 동일한 IP의..
1. 좌표 시스템의 기본 구성 의료영상을 다루는 시스템 별로 주요 적으로 활용하는 이미지 평면의 기준 좌표를 정리한다. 좌표계는 CT, MRI 의 장비 기준의 좌표계, 해부학적인 좌표계, 그리고 이미지 좌표계로 구분할 수 있다. 우선 의료 영상 분석을 위해서는 CT, MRI 장비를 촬영할 것이고 DICOM 의료영상 데이터로 저장하게 된다. 촬영된 영상데이터는 아래와 같이 환자의 입장에서 바라보는 것이 아니라 거울에 비춰진 것 처럼 좌우가 반대되어 바라보는 위치에서 영상을 마주하게 된다. 참고로 의료영상에서 보편적인것이 DICOM 이기는 하지만 최근 NIfTI format 의 영상도 많이 사용되는 것 같다. 두개의 데이터는 크게 다르지 않으나 생겨난 목적과 작은 차이가 있다. DICOM ( Digital ..
Nvidia의 Omniverse 의 toolkit 인 Issac Sim 을 공부하기 시작한다. 공식 Documents What Is Isaac Sim? What Is Isaac Sim? — Omniverse Robotics documentation NVIDIA Omniverse™ Isaac Sim is a robotics simulation toolkit for the NVIDIA Omniverse™ platform. Isaac Sim has essential features for building virtual robotic worlds and experiments. It provides researchers and practitioners with the tools and workflow docs.o..
PyTorch 를 활용해 ML 을 공부하기 위한 개발환경 구축을 하게 되었다. 최근에 VTK 개발 환경을 구축하면서 아무생각 없이 최신버전으로 Nvidia driver를 업데이트하면서 일부 코드가 동작중에 강제 종료되는 문제를 겪었다. 이런 이유로 최신버전의 드라이버가 좋은 것보다는 호환성을 맞춰서 개발환경을 구축하는 것이 중요하여 먼저 호환성을 검토하고 환경을 구축해야 된다는 걸 다시 느꼈다. Compatibility Matrix 호환성은 최종 target인 PyTorch를 기준으로 주변 패키지들을 설치하는 것으로 한다. 통합적인 호환성을 참고 : PyTorch Release Notes :: NVIDIA Deep Learning Frameworks Documentation PyTorch 1.13 Com..
Linux 에서는 장치를 filesystem으로 mount를 하기 때문에 Window 와 다르게 파일 경로로 접근을 한다. Webcam 과 같은 장치는 /dev/video# 로 접근이 가능하다. 우선 v4l2 (video for linux drivers) 를 이용하여 장치 정보를 확인하고 ffmpeg 를 이용하여 영상을 확인하도록 한다. 1. v4l2-utils 설치하기 $ sudo apt-get install v4l-utils 2. 장치 정보 알기 $ v4l2-ctl --list-formats # /dev/video0 장치의 정보를 출력한다 $ v4l2-ctl --all -d 0 3. 장치 제어하기 #제어 가능한 리스트 확인 $ v4l2-ctl -l # 밝기 설정값 변경 $ v4l2-ctl -c bri..
1. Jetson Nano Version 오래전에 구매해서 잠깐 설치까지 해보고 구석에 박혀있던 Jetson Nano를 다시 꺼냈다. Nano 의 경우에는 버전이 여러게 있어서 헷갈리는데.. 간단히는 2019년에 처음 발매된 A02 버전, 2020년 초기에 발매된 B02버전, 2020년 말에 발매된 2GB 버전으로 나뉜다. 자세한 버전의 차이는 아래의 링크를 참고하자. Nvidia Jetson Nano Developer Kit A02 vs B01 vs 2GB – Tutorials of Cytron Technologies Nvidia Jetson Nano Developer Kit A02 vs B01 vs 2GB In January 2020, Nvidia has released major upgrade on..
VTK Activiz 를 활용하면서 함수의 매개변수 정보가 Array 값을 갖을 때 각index 값을 따로 입력하는 방식과 IntPtr 를 전달하는 방식으로 API를 제공하고 있다. 나는 index별 매개변수를 전달하는 것을 매우 귀찮아 하기 때문에 IntPtr 로 전달하려고 했고.. 그런 부분을 해결하기 위해 구성한 코드를 정리한다. 1. GCHandle based ToIntPtr GCHandle 을 이용하여 입력받은 array 값의 메모리를 Pinned 로 지정하여 해당 메모리의 값에 대한 GCHandle 을 생성한다. Handle 은 Target의 변수 값과 메모리 값을 관리하게 되며, 필요한 IntPtr 값을 얻은 뒤에는 Handle을 free 메모리해제하여 사용하면 된다. public stati..
1. String -> byte[] 로 변환 하기 String a = "우리12abc헐"; byte[] c = System.Text.Encoding.Default.GetBytes(a); // String to default byte byte[] d = System.Text.Encoding.Unicode.GetBytes(a); // String to unicode byte byte[] e = System.Text.Encoding.UTF8.GetBytes(a); // String to UTF8 byte byte[] f = System.Text.Encoding.ASCII.GetBytes(a); // 하위 7bit 만 변환됨. ** 주의 : Encoding.ASCII --> ASCII(7비트) 문자 집합에 대한..
그동안 미뤄왔던 Robot Operating System ROS2를 설치하기로 하였다. ML을 공부하기 위해서 Ubuntu 20.04 를 설치해서 사용하고 있기 때문에 ROS2 의 경우에는 Foxy 패키지를 설치해야 한다. ROS 의 경우는 Ubuntu 의 버전에 따라서 맞는 OS를 설치해야 하는것 같다. Ubuntu 22.04 Jammy 가 있는 경우에는 ROS2에서는 Humble 을 설치해야 한다. 설치하는 방식은 버전에 상관없이 거의 동일하다. 설치하는 것은 Docker 이미지를 다운받아서 설치하는 것도 편하지만, Ubuntu 에 직접 설치하려고 하는 거라서 Virtual Box를 활용해서 설치한다. 어떤 도구를 사용해서 설치하든 상관없겠지만.. 우선 ROS2 공홈에서 나와 있는 cli 명령어를 순..