2024/03 25

[Tech, etc.] Mask (메디컬 이미지 및 분석 문맥)

Mask 라는 용어는 문맥에 따라 여러가지 의미를 갖는다. 메디컬 이미지의 문맥에서는 이미지 내의 특정 영역이나 특징을 강조하거나 분리하는 데 사용되는 방법이나 기술을 가리킨다.(컴퓨터 사이언스에서 원하는 위치의 데이터를 얻기 위해 사용하는 것과 같은 기술로 봐도 무방하다.)이는 여러 이유료 의료 영상 및 분석에 유용하며, Echogenicity (에코 발생성, 얼마나 잘 반사되는지)에 따라 다양한 유형의 조직을 구별할 수 있는 소프트웨어 알고리즘을 사용해 생성된다. 관심 영역에 집중 : Mask를 적용해 초음파 이미지 내의 특정 구조나 영역에 초점을 맞출 수 있으므로 의료 전문가가 상태를 더 쉽게 검사하고 진단할 수 있다. 이미지 처리 및 향상 : 마스크는 조직, 장기 또는 병변과 같은 특정 특징의 가..

[Tech, Embedded] Arduino UNO R3

오리지널 Arduino 패키지 외에 많이 사용되는 패키지 중 UNO R3가 있다. 이에 대해 알아보면서 오리지널 아두이노에 대해서도 함께 알아보자. Arduino UNO R3 : Arduino UNO R3 보드가 핵심 구성 요소로 포함된 패키지로, "R3"는 "Revision 3"를 의미하며, 이전 버전에 비해 특정 개선 사항(예: I2C 통신을 위한 추가 핀 및 더 강력한 리셋 회로)이 있는 UNO 보드의 버전이다. UNO R3를 포함한 패키지에는 다른 아두이노 키트와 유사하지만 UNO R3 보드를 중심으로 프로젝트를 위한 다양한 구성품이 함께 제공된다. 오리지널 Arduino 패키지 : Arduino에서 직접 제공하거나 타사에서 제공하는 기본 키트 또는 패키지를 의미하며, 일반적으로 시작을 위한 필수..

[Tech, C++] 공통 프로젝트에 대한 솔루션 별 전처리기 정의

Visual Studio 를 통해 C++ 작업을 하다보면 Solution과 Project를 생성하게 된다. 둘에 대해 간단하게 정리하자면 Solution은 하나 이상의 Project를 포함하고, Project는 source code, resource, configuration 등의 파일과 개별 application, library, component 등에 대한 build 지침을 포함하고 있다. 큰 프로그램을 작성하다보면 공통으로 사용되는 코드가 발생한다. 예를 들어, A라는 Project가 공통으로 사용되는 Project일 때, 여러 Solution이 A를 import해 공유해 사용한다고 가정하자. (import를 통한 공유를 하지 않고, 각 Solution 내에 개별적으로 같은 내용의 코드를 갖고있다면..

[Tech, Python] main method

파이썬의 스크립트 특성과 객체 지향 프로그래밍 모델 때문에 파이썬에서 "main" 메소드의 개념은 C나 C++의 main 함수와 완전히 다르다. C 또는 C++는 실행하기 위해 반드시 main 함수가 필요하지만 파이썬은 그렇지 않다. 그러나 스크립트를 독립 실행형 프로그램으로 실행할 때 시작점을 제공하고 스크립트를 다른 스크립트의 모듈로 가져올 때 실행해서는 안 되는 코드 부분을 구분하기 위해 C 또는 C++의 main 함수와 유사한 구조가 아래처럼 파이썬에서 자주 사용된다. def main(): # Your main code here print("Hello, world!") if __name__ == "__main__": main() def main() : 파이썬에서 main이라는 함수를 정의하는 부분..

[Tech, Python] \b (정규식)

정규식의 \b 메타 문자는 단어 경계를 나타낸다. 이는 문자를 일치시키는 것이 아니라 문자 사이의 위치를 일치시키는 것으로, 구체적으로 단어 문자(\w) 뒤에 단어가 아닌 문자(\W)가 오는 위치 또는 그 반대의 위치에 일치시킨다. 또한 첫 번째 또는 마지막 문자가 단어 문자인 경우 만자열의 시작 또는 끝에서도 일치한다. \b를 사용하면 텍스ㅌ 전체 단어 일치 : 'cat'이라는 단어를 문장에서 찾는데 'cat'이 다른 단어의 일부('catalog', 'bobcat' 같은 경우)가 아닌 경우를 찾을 때 import re text = "The cat scurried away from the catalog on the bobcat." pattern = r'\bcat\b' matches = re.findall..

[Comm.] Cirrus Aircraft (시러스 에어크래프트)

Cirrus Aircraft는 항공 분야 중 특히 개인 파일럿과 소규모 전세 서비스에서 인기가 높은 단일 엔진, 피스톤 및 제트 항공기 라인으로 잘 알려져 있다. Cirrus Aircraft는 항공기 모델에서 몇 가지 혁신적인 기능으로 유명하다. Cirrus Aircraft는 SR20 및 SR22 피스톤 엔진 항공기를 비롯해 항공 시장의 접근성이 높은 부문에 제트기의 속도와 성능을 제공한다는 점에서 주목받고 있는 단일 엔진 초경량 제트기 (single-enging, very light jet, VLJ)인 비전 제트 등 여러 인기 기종을 보유하고 있다. The Cirrus Airframe Parachute System (CAPS, Cirrus 기체 낙하산 시스템) : Cirrus 항공기의 가장 특징적인 안..

[Tech, Python] re.group()

re.group() 함수는 검색된 패턴에서 일치하는 항목을 가져오는 데 사용된다. 이 함수는 정규식과 일치하는 문자열의 일부를 추출하는 데 사용할 수 있다. 예시를 살펴보자. 기본 사용법 import re # Compile a pattern and search in the string pattern = re.compile(r'\d+') # Matches one or more digits match = pattern.search('The price is 123 dollars.') # Use group to get the matched string if match: print(match.group()) # Output: 123​ 괄호를 사용해 일치하는 문자열 중 특정 문자열 접근 import re text ..

[Tech, Algo] Sieve of Eratosthenes (에라토스테네스의 체)

에라토스테네스의 체는 소수를 찾아내기 위한 알고리즘으로, 교과 과정에서도 배우는 내용 중 하나다. 이 알고리즘은 LeetCode 204. Count Primes 와 같은 인터뷰에도 종종 등장하므로 알고 있으면 매우 유용하다. 고대 그리스 수학자 에라토스테네스가 발견한 이 알고리즘은 '체'로 치듯이 수를 걸러낸다고 해 '에라토스테네스의 체'로 불린다. 이 알고리즘의 포인트는 배수와 제곱근을 활용하는 것이다. 예를 통해 이해해보자. 1부터 100까지의 숫자 중 소수를 찾는다 가정하자. 1부터 100까지의 숫자를 나열해보자. 작은 숫자부터 시작을 하고, 특수한 경우인 1을 우선 지운다. 2를 제외한 2의 배수를 지운다. (배수 활용 시작) 3을 제외한 3의 배수를 지운다. 4의 배수는 이미 2의 배수를 통해 ..

[Tech, Python] re.compile()

re.compile() 함수는 정규식 패턴을 정규식 객체로 컴파일하는 데 사용된다. 그런 다음 이 객체를 사용해 문자열과 일치시키거나 문자열 내에서 패턴을 검색할 수 있다. 정규식을 객체로 컴파일하면 몇 가지 이점이 있다. 효율성 : 정규식 패턴을 객체로 컴파일하면 패턴이 분석돼 매칭에 최적화된 내부 형식으로 한 번만 변환된다. 동일한 패턴을 여러 번 사용하려는 경우 한 번 컴파일하고 객체를 재사용하는 것이 re.match(), re.search() 등의 함수에서 패턴을 직접 사용할 때마다 다시 해석하는 것보다 더 효율적이다. 재사용 가능성 : 정규식 객체는 일단 컴파일되면 여러 문자열에 걸쳐 여러 번 재사용할 수 있다. 이렇게 하면 코드가 더 깔끔해질 뿐만 아니라 패턴이 한 곳에 정의되므로 유지 관리도..

[Tech, Network] Octet (옥텟)

bit는 0 혹은 1로 이루어진 단일 숫자 단위다. byte는 8 bit가 모여서 이루어진다. octet 역시 8 bit가 모여 이루어진 단위를 말한다. 그러나 초기 컴퓨터를 다룰 때 1byte에 대한 공통된 정의가 존재하지 않아, 8 bit를 꼭 의미하지 않았기에 octet이 사용됐다. 하지만 현대에는 byte와 octet을 같은 의미로 봐도 무방하다. 참고 - https://noogoonaa.tistory.com/126 - http://www.terms.co.kr/octet.htm?ckattempt=1 - https://gourmet-eundong.tistory.com/21