전체 글 210

4. Peak(R) detection (Revised)

(ECG) 3. 시그널 전처리 에서는 피크를 찾기위한 전처리 과정을 살펴보았다.이제 전처리된 ECG 시그널을 이용해 Peak detection을 해 보겠다. 일단, Peak detection 의 유명한 알고리즘은 아래와 같다.HamiltonChristovEngelse and ZeelenbergPan and TompkinsStationary Wavelet TransformTwo Moving AverageMatched FilterWQRS GitHub - berndporr/py-ecg-detectors: Popular ECG QRS detectors written in pythonPopular ECG QRS detectors written in python. Contribute to berndporr/py-e..

3. 시그널 전처리 (Revised)

QRS 중 심박수 계산에 사용되는 R 을 찾기 위해서 아래와 같은 전처리가 필요하다. Baseline Wander Removal : 출렁거리는 시그널을 일직선을 기준으로 맞춤 Baseline Wander Removal 필터로는 notch 를 사용하였다. # notch 필터 디자인 # fs 는 샘플링 Hz 로 Polar Equine출력 Hz b, a = iirnotch(0.05, Q = 0.005, fs = 130) # 필터를 적용(filtfilt) filtered_data = filtfilt(b, a, data) plt.title("ECG 130Hz") plt.plot(data, alpha=0.8, color='blue', lw=1, label='Raw') plt.plot(filtered_data, al..

docker-compose 개발 결과물을 서버에 릴리스

docker-compose.yaml 알아보기 에서 생성된 docker-compose.yaml 과 web 서비스의 image 를 서비스할 서버에 릴리스 하는 법을 살펴 보자. docker-compose.yaml 알아보기 docker-compose 는 시스템을 구성하는 Dockerfile 들의 build 와 container 들의 start, stop 일련의 작업들을 간편하게 해주는 이외에 네트웍의 공유등의 편의를 제공해 준다. 샘플 폴더, 화일의 구성 ── web eldercoder.tistory.com docker를 사용하는 장점이라하면 모듈화, 소스 숨김등이 있겠지만 뭐니뭐니해도 서비스할 서버에 동작환경을 만들지 않아도 된다는 가장 큰 장점이 있다. 단순히 서버에 docker 만 인스톨하면 귀찮은 설치..

Commands/docker 2023.12.09

docker-compose.yaml 알아보기

docker-compose 는 시스템을 구성하는 Dockerfile 들의 build 와 container 들의 start, stop 일련의 작업들을 간편하게 해주는 이외에 네트웍의 공유등의 편의를 제공해 준다. 샘플 폴더, 화일의 구성 ── web ├── app.py ├── Dockerfile └── requirements.txt ── docker-compose.yaml docker-compose.yaml version "3.8" services: redis: image: redislabs/redismod ports: - '6379:6379' restart: always web: image: yaho/web:1.0 build: context: ./web dockerfile: Dockerfile ports..

Commands/docker 2023.12.09

English Phrasal Verbs for Everyday Life

https://youtu.be/G2NwmcNKaHk?si=THwCJHf0KRZbHCUw sb = somebody, sth = something seem(feel) a little under the weather 약간 몸상태가 좋지 않다 sth break down 고장나다 (엔진이 달려 있느 제품) sb end up - ing 결국 - 하게 되었다. pick sth up from -로 부터 가져오다 mechanic : 정비소 sb(sth) hold up 강하게 참다. 견디다. sth give out 동작을 멈추다. sth wear sb out -가 -를 지치게 하다. sb put aside money 돈을 따로 모으다. earn money -ing -하면서 돈을 벌다. sb keep up with sth ..

youtube english 2023.12.08

2. ECG 데이터 클린징 (Revised)

디바이스 : Polar H10 취득앱 : Android Polar Equine 일시 : 2023/12/07 18시 10분에서 5분간 정 자세 : 기립한 자세로 특별한 움직임은 없었음 헤더의 비데이터 부분은 삭제 HEADER START USER: DATE/TIME: 12.7.23 18.15.02 DEVICE_ID: B8D32221 DEVICE_VERSION: 3.2.0 APP_VERSION: 1.2.2 CHANNELS:HR RR MS SKINCONTACT HEADER END 0.808 413 1.091 420 1.538 428 1.593 436 1.04 444 1. Header 삭제 2. 데이터 구조 [ECG 강도(mV)] [Milli Second] [스페이스] 마지막에 쓸데없는 스페이스가 붙어 있다. p..

Dockerfile 알아보기

conda 가상환경을 작성하여 flask 웹 어플리케이션 작성에 필요한 라이브러리를 인스톨하고 app.py 에 작성했다고 하자. 같은 폴더에 아래와 같이 인스톨한 라이브러리 리스트를 작성하자. pip list --format=freeze > requirements.txt 그러면 폴더에는 - app.py - requirements.txt 가 존재한다. 같은 폴더에 Dockerfile 화일명으로 아래와 같이 작성하자. FROM python:3.9-slim-buster WORKDIR /app COPY . . RUN pip install -r requirements.txt EXPOSE 5000 ENV FLASK_APP=app.py CMD ["flask", "run", "--host", "0.0.0.0"] FRO..

Commands/docker 2023.12.07

contour / labelling

contour  는 모양의 외곽에 위치한 포인트들을 연결하는 커브를 의미한다. OpenCV 에서의 contour 는 크게 두가지 함수가 있다.findContours()    : 외곽선상의 포인트 좌표 수집drawContours()  :  수집된 좌표를 연결한 선긋기수집된 포인트 좌표로 구할 수 있는 것:무게중심moments()외곽선 안쪽의 면적contourArea()외곽선의 길이arcLength()간략한 외곽선approxPolyDP()울퉁불퉁 정도convexHull()울퉁불퉁 여부isContourConvex()외곽선을 내부에 포함한 사각형boundingRect()회전을 고려한 외곽선을 내부에 포함한 사각형사각형의 4코너 포인트minAreaRect()boxPoints()외곽선을 내부에 포함한 원minEnc..

opencv 2023.12.07

(python) text 를 길이 단위로 분리

OpenAI Embedding 기능을 사용하기 위해 PDF 에서 Text를 추출하여 특정 길이로 분리할 필요가 있었어 langchain 의 CharacterTextSplitter 를 사용하였다. 인스톨 pip install langchain CharacterTextSplitter from langchain.text_splitter import CharacterTextSplitter story = '어느 마을에 양치기 소년이 하나 있었는데,\n 늑대들이 나타나 양을 물어간다느니 잡아먹는다느니 식으로 수시로 장난삼아 소리치곤 했다. 두세 번 정도는 마을 사람들이 놀라 부리나케 달려왔다. 하지만 그 때마다 골탕을 먹고 바보가 된 기분으로 화를 내거나 투덜거리며 돌아갔다.\n 그러던 어느 날 진짜로 늑대가 나타..

data science/python 2023.12.06