임의의 피크 값의 데이터를 '상호작용' 할 수 있는 파이톤 라이브러리를 만들었습니다.

이학부 학생들이 1~3학년 때 자주 했던 실험의 예에 대한 작업
엑스선 구조 분석과 미지의 핵소의 스펙트럼을 분석해 핵소를 확인하는 실험 등.
고스 함수 입어볼 기회가 꼭 있을 거예요.
물론 y 순서에 따라 y의 최대치, 즉 최고치의 y는 강도, x는 파장 등은 간단하지만 최고치가 삼각함수가 아니라면 좋지 않다.
스펙트럼에 나타난 피크값이 하나밖에 없다면 고스 함수의 의합을 그렇게 열심히 하지 않을 수 있으나 각종 선원의 중첩으로 인해 발생하는 스펙트럼의 경우 고스 함수로 중첩하는 수량이 필요하다.그리고 같은 실험 데이터 > 수십 개의 상황에서 각자의 데이터를 보고 수동으로 시험 제작하는 것은 지옥의 행동이다!
따라서 우리는 마우스를 드래그하고 스펙트럼 데이터를 클릭하여 고스 함수를 임의의 수량으로 맞출 수 있는 상호작용 파이톤 라이브러리를 만들었다.(현재 업데이트 중)
GitHub repository: passive-radio/find-peaks
특징은 위의 창고 페이지에서도 볼 수 있다. 간단하게 입어볼 수 있는 도구가 없을 수도 있고 수십 개의 라벨이 열려 있을 수도 있다. 다음은 이 라이브러리의 특징과 무엇을 할 수 있는지 소개한다.
find-peaks의 특징
  • 스펙트럼 데이터를 불러와서 그립니다.그리는 창을 마우스로 클릭하거나 드래그하면 낚시를 할 수 있는 최대 위치를 알 수 있다
  • x가 되지 않았으니 y의 ascii 형식 파일도 괜찮습니다.그림 데이터에서 맞출 수도 있습니다.
  • 스펙트럼에 합성 결과를 그려서 최고치의 위치, 높이, 배경과 너비를 얻을 수 있다
  • 본과 4학년의 실험(졸업논문 연구) 수준을 보면 실험장치나 연구실에서 사용하는 자신의 해석 소프트웨어가 나올 차례가 될 것 같아 쓰지 않았지만, 1∼3학년의 실험 해석에 있어 번잡한 작업을 간단하게 할 수 있는 도구라고 생각했다.
    해당 스펙트럼 데이터의 형식
    x
    y
    0
    1
    1
    13
    2
    30
    3
    43
    4
    31
    5
    11
    ...
    ...
    이런 느낌이면 괜찮아요.실험 장치에서 토출된 데이터에는 헤더가 있고 서로 다른 열에 정보가 추가된 경우도 있습니다. 이 경우 헤더의 행수와 x, y의 열을 지정하십시오.
    또 이미지 형식의 스펙트럼 데이터도 분석할 때가 있다.(휘선의 위치는 파장에 해당한다)
    그런 상황을 감안하면 이미지 형식의 데이터도 대응한다.(비트맵 형식에만 해당)

    그래도 돼요.
    실제 착용 상황
    example.py에서 샘플 데이터를 사용하여 실제 착용을 진행합니다.입어보고 싶은 파일을 지정한 후 실행하면 다음 화면이 출력됩니다.

    마우스를 드래그하면 최고치를 덮어쓸 수 있습니다.좌우에 편차가 있다고 생각되면 마우스로 다시 지정할 수 있다.거친 곳을 알려주면 입어볼 수 있어서 기본적으로 괜찮아요.
    추기: 거칠어도 되지만 최고치의 반폭을 고르면 틀림없다.
    선택이 완료되었다고 생각되면 오른쪽 단추를 눌러서 확인하고, 최고치가 나오면 마우스로 선택을 끌어당겨 오른쪽 단추를 반복해서 확인한다.

    선택 후 창을 닫습니다.그 다음에 출력은 결과를 맞추는 그림을 그렸습니다.
    명령줄에서 피크값의 위치, 강도, 너비, 배경을 출력합니다.

    또한 신중을 기하기 위해 고스 함수 이외에 1변수 n차 다항식 근사도 진행할 수 있다.쓸 자리는 없지만
    실용적인 사용 방법
    GiitHub 창고에 있는 example.py에는 피크값 정보를 저장하는 코드도 적혀 있다.
    실제로 선택한 피크 값을 찾을 수 있는 클릭guess(), drag_guess () 는 피크 정보를 데이터 프레임 형식으로 되돌려줍니다.
    따라서 os와glob 모듈을 조합하면 스펙트럼 데이터가 있는 디렉터리를 지정하여 디렉터리에 스펙트럼이 있는 모든 csv 파일을 연속적으로 분석할 수 있습니다.DataFrame으로 되돌아오기 때문에 csv 파일에 저장한 다음 최고치를 한눈에 확인할 수 있습니다.
    스펙트럼 데이터의 csv 파일 이름을 실험의 설정 파라미터 등으로 설정하면 각 스펙트럼의 파일 이름을 지우고, 최고치를 저장하는 csv 열에서도 파라미터를 기술할 수 있습니다.
    이 정도면 데이터 분석이 훨씬 간단해지겠지.그리고 측정 과정에서 "아니야, 이렇게 많은 데이터를 분석하기는 어려울 뿐이야"라고 말해도 "아..."고개를 끄덕일 수 있어!
    아, 물론 보고서에서 사용할 때는 평소에 허가증을 명시하는 데 주의해야 합니다.
    많은 실험 데이터를 분석해야 한다
    이 프로그램 라이브러리는 스펙트럼 데이터를 제시할 때만 임의의 수량의 피크값을 찾아 맞춘다.시퀀스 번호 데이터 등을 자동으로 맞추려면 다른 인코딩이 필요하다.실제 포장은 결코 어렵지 않다.
    라이브러리의 미래
    최근에는 이처럼 구글 Colab에서 실행되는 오픈 소스 프로젝트가 유행하고 있으며, 구글 Colab으로 옷을 입어보는 프로젝트는 GiHub의 같은 창고에서 공유될 수 있다.
    또 excel 워크시트의 데이터에 대응할 수 있고, 마우스를 빠르게 끌지 않아도 임의의 피크 값에 도달할 수 있는 스펙트럼을 머신러닝(+deep learning)으로 맞출 수 있는 게임 기능도 추가할 계획이다.왜 놀아야 합니까? 모든 스펙트럼은 배경물리의 고유한 분포이기 때문에 서로 다른 배경물리를 포함하는 스펙트럼 데이터를 포함하는 학습팀을 이용하여 어떤 스펙트럼의 최고치 위치를 추측하는 것은 적합하지 않습니다.
    물론 실험 사실과 이론 예측이 일치하는 이미 알고 있는 물리 현상을 주제로 하는 실험은 배경물리로 하여금 같은 실험의 스펙트럼에서 학습하게 하고 배경물리를 매개 변수로 지정하여 자동으로 의합하게 하면 되지만 이것은 이미 알고 있는 물리이기 때문에 그다지 흥미롭지 않다.
    최후
    간신히 이 기사에 나온 당신, 고민 하나하나에 상처가 난다면 꼭 한번 시도해 보세요!
    낚시를 잘하지 못하고 머신러닝(+deep learning)을 사용해 개발에 관심이 있는 사람은 지티허브에서 상호작용을 할 수 있어 게으른 사람은 즐거워한다.
    GitHub repository page: passive-radio/find-peaks

    좋은 웹페이지 즐겨찾기