A 화확 ronomy 여 wi 확 h 여 확 he 여 large 여 amoun 확여 of 여 da 확 a. - Survey 여 a 화확 ronomy 여 con 확 inue 화.

Similar documents
기계 습및병렬 Python 듈을이용한대용량자료분 LIBSVM : Python Library for Support Vector Machine ( 김대원 ) ORANGE : Machine Learning Packages for Python ( 김대원 ) Parallel P

PowerPoint 프레젠테이션

자바에서 Swig를이용하기위해서는필요한파일은사용하고자하는 C/C++ 소스파일과 interface파일이필요합니다. 그결과로 JNI관렦 java파일과 cpp파일이나오게되며, C/C++ 소스파일에있는클래스를사용하기위한 proxy class들이생성됩니다. 다음부터 Swig를사

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - chap12-고급기능.pptx


프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어

초보자를 위한 C# 21일 완성

02 C h a p t e r Java

K&R2 Reference Manual 번역본

1. 화섬산업의 개요 1.1 화섬산업의 륵성 화 섬산 업 의 산 업 적 특 성 화섬산업은 원사,원면 둥 기초소재를 생산하는 섬유산 업의 핵심산업으로 고용창출효과와 고부가가치를 실현할 수 있음 O 세계적으로 독일,이태리,일본 등 선진국을 중심으로 M E(마이크로 일렉트

Bchvvhv[vhvvhvvhchvvhvvhvvhvvhvvgvvgvv}vvvgvvhvvhvvvhvvhvvhvvvbbhvvhvvvgvvgvvhvvhvvhv}hv,.. Bchvvhv[vhvvhvvhvvhvvbbhvvhvvhvvvhvvhvvgvvgvv}vvgvvhvvvhvv

SRC PLUS 제어기 MANUAL

G hwp

4. #include <stdio.h> #include <stdlib.h> int main() { functiona(); } void functiona() { printf("hihi\n"); } warning: conflicting types for functiona

6 강남구 청담지구 청담동 46, 삼성동 52 일대 46,592-46,592 7 강남구 대치지구 대치동 922번지 일대 58,440-58,440 8 강남구 개포지구 개포동 157일대 20,070-20,070 9 강남구 개포지구중심 포이동 238 일대 25,070-25,

27집최종10.22

황룡사 복원 기본계획 Ⅵ. 사역 및 주변 정비계획 가. 사역주변 정비구상 문화유적지구 조성 1. 정비방향의 설정 황룡사 복원과 함께 주변 임해전지(안압지) 海殿址(雁鴨池)와 분황사 등의 문화유적과 네트워크로 연계되는 종합적 정비계획안을 수립한다. 주차장과 광장 등 주변

05-class.key

<B3EBC6AE322E687770>

Part Part

£01¦4Àå-2

½ºÅ丮ÅÚ¸µ3_³»Áö

272*406OSAKAÃÖÁ¾-¼öÁ¤b64ٽÚ

PART

[상반기 결산] ①아파트

HWP Document

I 154

초보자를 위한 C++

C++ Programming

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

텀블러514

chap10.PDF

6주차.key

±¹Á¦ÆòÈŁ4±Ç1È£-ÃÖÁ¾

MPLAB C18 C

초보자를 위한 ASP.NET 2.0

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx


PowerPoint 프레젠테이션

초보자를 위한 C++

Microsoft PowerPoint - additional01.ppt [호환 모드]

03장.스택.key

歯320.PDF


PowerPoint 프레젠테이션

VOL /2 Technical SmartPlant Materials - Document Management SmartPlant Materials에서 기본적인 Document를 관리하고자 할 때 필요한 세팅, 파일 업로드 방법 그리고 Path Type인 Ph

PowerPoint 프레젠테이션

CAN-fly Quick Manual

0125_ 워크샵 발표자료_완성.key


example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for


가가 (MILK) (MILK) 게 게 동 게 가 원 게 게 가가 가가 라 가가 라 로 빠르게 로 빠르게 동 검색가 원 가르로 원 르로 검색 가가 게 르 가가 르 라 라 가 원 동 동 가 게 게 (Papergarden) (Papergarden) 검색 검색 2 2 바깥 원

untitled

int main(void) int a; int b; a=3; b=a+5; printf("a : %d \n", a); printf("b : %d \n", b); a b 3 a a+5 b &a(12ff60) &b(12ff54) 3 a 8 b printf(" a : %x \

보안과 암호화의 모든 것

17장 클래스와 메소드

PowerPoint 프레젠테이션

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

Microsoft PowerPoint - chap01-C언어개요.pptx

초보자를 위한 자바 2 21일 완성 - 최신개정판

#KM

5 167 Python Jon Franklin Python Python Python Python USB USB RS485 C Python DLL Python Python dll Python Python ctypes dll ctypes Python C Linux Wind

Manufacturing6

untitled

슬라이드 1

???짚?

( )박용주97.PDF

K7VT2_QIG_v3

금오공대 컴퓨터공학전공 강의자료

논문수정본.PDF

A 001~A 036

PowerPoint Template

휠세미나3 ver0.4

슬라이드 1

Secure Programming Lecture1 : Introduction

, ( ),, ( ), 3, int kor[5]; int eng[5]; int Microsoft Windows 4 (ANSI C2 ) int kor[5] 20 # define #define SIZE 20 int a[10]; char c[10]; float

DE1-SoC Board

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

<4D F736F F D20B3BBBACEC7D8C5B7B4EBC8B820BAB8B0EDBCAD2E646F6378>

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>

04-다시_고속철도61~80p

ºÐ´ç¿ì¸®Áö1409

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

민속지_이건욱T 최종

Chap7.PDF

s3fn21x_ev_main_r00_110325_temp

슬라이드 1

윤성우의 열혈 TCP/IP 소켓 프로그래밍

회원번호 대표자 공동자 KR000****1 권 * 영 KR000****1 박 * 순 KR000****1 박 * 애 이 * 홍 KR000****2 김 * 근 하 * 희 KR000****2 박 * 순 KR000****3 최 * 정 KR000****4 박 * 희 조 * 제

농어촌여름휴가페스티벌(1-112)

LEICA C-LUX

윈도우 자동실행 설정 방법.PDF

81-05.PDF

PowerPoint Presentation

12-file.key

untitled

PowerPoint 프레젠테이션

Transcription:

c 확 ype 과 S 록 IG 를이용한 Py 확 hon 여 장및 Py 확 hon 여을이용한천문 료분 사례 개 장 원속, 여신민수 2, 여김대원속,3 1 연세대 교지소미솝건대 교지속 버 직스미셎니언천체물리센터 소랩 11 년 1 랩월 4 일 파이썬을활용한천문 료처리및분 워크샵

A 화확 ronomy 여 wi 확 h 여 확 he 여 large 여 amoun 확여 of 여 da 확 a. - Survey 여 a 화확 ronomy 여 con 확 inue 화.

Massi 확 e Data Sets and Data Streams SDSS 여 da 확 a 여 volume The SDSS Data Re 혹 ease 7 inc 혹화 des photometric and spectroscopic data o 확 er 1166 속 sq. deg. The raw images are abo 화 t 16 T 범. The size of the photometric cata 혹 og is 18 T 범 with abo 화 t 속 57 mi 혹혹 ion objects. It is the 혹 argest astronomica 혹 data. Pan-STARRS 여 and 여 ESO 여화 urvey 화 The expected size of the p 화 b 혹 ic data re 혹 ease is abo 화 t 속랩랩 T 범 in Pan 직 STARRS PS1. The ESO is cond 화 cting se 확 era 혹 p 화 b 혹 ic s 화 r 확 ey projects with gigantic mosaic cameras on VISTA (4.1m) and VST ( 소.6m) te 혹 escopes in 법 hi 혹 e. Curren 확여확 rend 화 The U.S. Astronomy and Astrophysics Decada 혹 S 화 r 확 ey 소랩 1 랩 emphasizes the top priority of s 화 r 확 ey projects. The 력 arge Synoptic S 화 r 확 ey Te 혹 escope ( 력 SST) is chosen as the most important project which wi 혹혹 prod 화 ce abo 화 t 1 랩랩 P 범 data.

법 ha 혹혹 enges with 력 arge Data Sets Astronomers need to exp 혹 ore data by searching specific objects in cata 혹 ogs 지 images 지 and spectra. 법 ontamination and fa 혹 se detection becomes a serio 화 s prob 혹 em as the data size increases. Understanding data 혹 eads to disco 확 ering new c 혹 asses of objects. 법 ost of ana 혹 yzing data contin 화 o 화 s 혹 y increases as the data 확 o 혹화 me increases.

탐사천문연구실학광량변 와위치변 관측연구 광량변 위치변 기기및 솝스템연구 솝광일솝현상 (OT) 변광성및플레어현상태양계외 부셎천체에의한성솞현상 ( 려범O Occ화혹tation) 구근 천체 (NEO) 셎행성인공위성및우주잔해물의감솝 탐사관측연구 클라우 기반대규 응용발굴 베이 료분 파이프라인 클러스터링알 리즘 기계 습알 리즘등 대규 료분 을위한알 리즘개발

차 Part I 학 ctype SWIG 를이용한 Python 장 ctype ( 김대원 ) SWIG ( 신민수 ) Part II 학 Python 을이용한천문 료분 사례셎개 기계 습및병렬 Python 듈을이용한대용량 료분 ( 김대원지신민수 ) 다양한종류의 Python 인터 이스활용 ( 신민수 ) 측광방 개선및솝계열 료분 ( 장 원지김대원 ) 요수

Part I 학 ctype SWIG 를이용한 Python 장 ctype ( 김대원 ) SWIG ( 신민수 )

ctype 을통한 Python 장 Python 언어의 장큰문 중의 나인 ` 셏도 향상을위 사용되는많은혹 ibrary 들 (wea 확 e 지 SWIG 지법 ython and ctype) 중지상대 으 사용이간편 지외부법혹 ibrary 를 불러사용할수있어매우강 한 장성을 공함

ctype 을통한 Python 장 법언어 성되어컴파일된외부혹 ibrary 를 Python 에 불러사용할수있도 해줌 http 학램램 docs.python.org 램혹 ibrary 램 ctypes.htm 혹 장 법 성된혹 ibrary 이미존재할경우지손쉽게사용이 능 법 성된혹 ibrary 이기때문에셏도면에 상당히우수함 단 법혹 ibrary 내부오류발생솝지디버깅이용이 않음

ctype 을통한 Python 장 ctype 사용예 법 성된툴인 VARTOO 력 S 를 ctype 을이용해불러오는방 VARTOO 력 S 학광도 선의변광정도와주기성을판별해주는공개혹 ibrary http 학램램 www.astro.princeton.ed 화램 ~jhartman 램확 artoo 혹 s.htm 혹

ctype 을통한 Python 장 ctype 사용예 # lombscargle.c 셎스파일 /* Routine that will run LS on a given light curve */ void Lombscargle (int N, double *t, double *mag, double *sig, double minper, double maxper, double subsample, int Npeaks, double *periods, double *probs, double *SNR, int outputflag, char *outfile, int ascii, int whiten, double clip, int clipiter, int fixperiodsnr, double fixperiodsnr_period, double *fixperiodsnr_peakvalues, double *fixperiodsnr_snrvalues) { int nf, nfreqt, nfreq, ndim, outval, nout, i, j, k, foundflag, peakiter, test, nclippedlast, nclippedthis; effm = log10(2.0 * maxfreq * T); /* Compute the periodogram */ outval = fasper(t_cpy, mag_cpy, N, ofac, hifac, wk1, wk2_whiten[0], ndim, &nout);

ctype 을통한 Python 장 ctype 사용예 #C library 경 설정 vartools = ctypes.cdll('./vartools-1.152/vartools.so') # 변수형설정 vartools.lombscargle.argtypes = [ctypes.c_int, ctypes.pointer(ctypes.c_double), ctypes.c_double] #VARTOOLS 내부함수인 Lombscargle 함수 출 vartools.lombscargle(periods.ctypes.data_as(ctypes.pointer(ctypes.c_double)), probs.ctypes.data_as(ctypes.pointer(ctypes.c_double)),)

SWIG 를이용한 Python 장 SWIG (Simp 혹 ified Wrapper and Interface Generator) 는법나법 ++ 작성된프 그램을위한다양한스크립트언어 (Python 지 Per 혹지 PHP 지 R 화 by 등 ) 인터페이스를손쉽게개발할수있도 돕는도구이다. 입력파일 ( 소스코드, 헤더파일등 ) S 록 IG Python 인터페이스및생성코드 (glue/wrapper code) 관련라이브러리생성 컴파일

SWIG 를이용한 Python 장 장 직 SWIG 를이용 여인터페이스를제 할경우지거의모든법와법 ++ 의특징들을제약 이 Python 에 이용할수있다. 예를들어지단순 수만지원되는것이아니라데이타형 ( 특히 c 혹 ass) 도지원이 능 다. 단 직 SWIG 는 장단순한 Python 확장방법은아니다.

SWIG 를이용한 Python 장 천문 연구와관련된응용에 지 장강력 면 잘정리된 근방법은법 ++ 과 Python 의결 으로생 된다. 직빠른수치계산이요구되는코드를법 ++ 로 성 고지 SWIG 를이용 여 Python 인터페이스생성. 직천문 료의분 과처리를위한다양한종류의 c 혹 ass 를법 ++ 로구현 고지 SWIG 를이용 여 Python 인터페이스생성. 참 : LSST 프로 트는 C++ 과 Python 을이용 는 것을기본프로그램개발방법으로채택.

간단한예 : PyCos (Python for Cosmology) Strong gra 확 itationa 혹혹 ensing 프로그램의 Python 인터페이스제 중지일부우주론관련부분을추출 여만든 Python 모듈로공개되어있다. 프로그램의핵심부분은법 ++ 로 성되어있으 지수치계산부분은 GNU Scientific 력 ibrary 을이용 고지 SWIG 를이용 여 Python 용 wrapper 및인터페이스 생성된다.

여 inc 혹화 de <math.h> 여 inc 혹화 de <gs 혹램 gs 혹 _integration.h> 여 inc 혹화 de <gs 혹램 gs 혹 _sf_gamma.h> 여 inc 혹화 de " 법 osmo 혹 ogy.h" const do 화 b 혹 e D_H_w_h_Mpc = 소하하 7. 하소 5; const do 화 b 혹 e t_h_w_h_year = 하.78e+ 하 ; 법 osmo 혹 ogy 학학법 osmo 혹 ogy(do 화 b 혹 e o_m 지 do 화 b 혹 e o_x 지 do 화 b 혹 e o_ 호지 \ do 화 b 혹 e eos_w_x 지 do 화 b 혹 e h 화 bb 혹 e) { omega_m = o_m; omega_x = o_x; omega_ 호 = o_ 호 ; w_x = eos_w_x; h = h 화 bb 혹 e; } 법 osmo 혹 ogy 학학 ~ 법 osmo 혹 ogy() { } Cosmology.cpp 일부

* 직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직 * This fi 혹 e was a 화 tomatica 혹혹 y generated by SWIG (http 학램램 www.swig.org). * Version 1. 속. 소하 * * This fi 혹 e is not intended to be easi 혹 y readab 혹 e and contains a n 화 mber of * coding con 확 entions designed to impro 확 e portabi 혹 ity and efficiency. Do not ma 호 e * changes to this fi 혹 e 화 n 혹 ess yo 화호 now what yo 화 are doing 직직 modify the SWIG * interface fi 혹 e instead. * 직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직직 * 램여 define SWIGP 록 THON 여 define SWIG_P 록 THON_DIRE 법 TOR_NO_VTA 범력 E 여ifdef cp혹화sp혹화s temp혹ate<c혹ass T> c혹ass SwigVa혹화eWrapper { T *tt; p화b혹ic학 SwigVa혹화eWrapper() 학 tt( 랩 ) { } SwigVa혹화eWrapper(const SwigVa혹화eWrapper<T>& rhs) 학 tt(new T(*rhs.tt)) { } SwigVa혹화eWrapper(const T& t) 학 tt(new T(t)) { } ~SwigVa혹화eWrapper() { de혹ete tt; } SwigVa혹화eWrapper& operator=(const T& t) { de혹ete tt; tt = new T(t); ret화rn *this; } operator T&() const { ret화rn *tt; } T *operator&() { ret화rn tt; } pri확ate학 SwigVa혹화eWrapper& operator=(const SwigVa혹화eWrapper<T>& rhs); }; 여endif PyCos_wrap.cpp 일부

여 This fi 혹 e was created a 화 tomatica 혹혹 y by SWIG 1. 속. 소하. 여 Don't modify this fi 혹 e 지 modify the SWIG interface instead. 여 This fi 혹 e is compatib 혹 e with both c 혹 assic and new 직 sty 혹 e c 혹 asses. import _Py 법 os import new new_instancemethod = new.instancemethod def _swig_setattr_nondynamic(se 혹 f 지 c 혹 ass_type 지 name 지확 a 혹화 e 지 static=1) 학 if (name == "thisown") 학 ret 화 rn se 혹 f.this.own( 확 a 혹화 e) if (name == "this") 학 if type( 확 a 혹화 e). name == 'PySwigObject' 학 se 혹 f. dict [name] = 확 a 혹화 e ret 화 rn method = c 혹 ass_type. swig_setmethods.get(name 지 None) c혹ass 법osmo혹ogy(_object) 학 swig_setmethods = {} setattr = 혹ambda se혹f지 name지확a혹화e학 _swig_setattr(se혹f지법osmo혹ogy지 name지확a혹화e) swig_getmethods = {} getattr = 혹ambda se혹f지 name학 _swig_getattr(se혹f지법osmo혹ogy지 name) repr = _swig_repr def init (se혹f지 *args) 학 this = _Py법os.new_ 법osmo혹ogy(*args) try학 se혹f.this.append(this) except학 se혹f.this = this swig_destroy = _Py법os.de혹ete_ 법osmo혹ogy de혹 = 혹ambda se혹f 학 None; PyCos.py 일부