chobo

게시판 답변이 생성됐습니다

14 글 보임 - 1 에서 14 까지 (총 14 중에서)
  • 글쓴이
  • 답변: Binary Data 읽기 #2887
    chobo
    회원

    data_type=7으로 설정하면, 아래와 같은 에러코드가 나옵니다.

    ————

    rdr = READ_BINARY(file_list[‘rdrFP’]+file_list[‘rdrFN’], data_type=7, data_dims=[960, 1200])
    rdr = float(rdr)
    help, rdr
    prnit, rdr[0,0]

    % READ_BINARY: Reading strings via READ_BINARY is not supported. (Specify an array of bytes instead.)
    % Execution halted at: RDRBINREADING 233 D:\700_Analysis\710_LinetEvaluation\codes\ltn_radar_far_v1p04.pro
    % LTN_RADAR_FAR_V1P04 397 D:\700_Analysis\710_LinetEvaluation\codes\ltn_radar_far_v1p04.pro
    % $MAIN$
    IDL>

    rdr = READ_BINARY(file_list[‘rdrFP’]+file_list[‘rdrFN’], data_type=7) ;, data_dims=[960, 1200])
    rdr = float(rdr)
    help, rdr
    prnit, rdr[0,0]

    % READ_BINARY: Reading strings via READ_BINARY is not supported. (Specify an array of bytes instead.)
    % Execution halted at: RDRBINREADING 233 D:\700_Analysis\710_LinetEvaluation\codes\ltn_radar_far_v1p04.pro
    % LTN_RADAR_FAR_V1P04 397 D:\700_Analysis\710_LinetEvaluation\codes\ltn_radar_far_v1p04.pro
    % $MAIN$
    IDL>

    배열을 설정하고, data_type=7으로 설정하면, 아래와 같은 에러코드가 나오네요.. ㅜㅜ

    ————

    rdr = strarr(960,1200)
    rdr = READ_BINARY(file_list[‘rdrFP’]+file_list[‘rdrFN’], data_type=7, data_dims=[960, 1200])
    rdr = float(rdr)
    help, rdr
    prnit, rdr[0,0]

    % READ_BINARY: Reading strings via READ_BINARY is not supported. (Specify an array of bytes instead.)
    % Execution halted at: RDRBINREADING 233 D:\700_Analysis\710_LinetEvaluation\codes\ltn_radar_far_v1p04.pro
    % LTN_RADAR_FAR_V1P04 398 D:\700_Analysis\710_LinetEvaluation\codes\ltn_radar_far_v1p04.pro
    % $MAIN$
    IDL>

    • 이 답변은 chobo에 의해 7 years, 10 months 전에 수정됐습니다.
    답변: Binary Data 읽기 #2884
    chobo
    회원

    안녕하세요.
    제가 읽고자 하는 filename 파일은
    단순히 -128 ~ 127의 캐릭터를 1-byte로 저장을 한것입니다.
    IDL에서 1 byte-character를 IDL에서 어떻게 읽으면 되는지요?
    (128을 빼서(-) 하는 것은 아닌것으로 확인 되었습니다.) ㅜㅜ

    답변: Binary Data 읽기 #2883
    chobo
    회원

    안녕하세요. 제가 데이터 포맷에 대한 기본이 없어서, 질문을 여러번 드리게 됩니다.
    감사합니다.
    mwkim님께서 말씀하신 대로 해보니깐,
    아래처럼 나오게 됩니다.
    제가 예상했던것은 a[0]이 b[0] 즉 character로 전환하는 것을 예상했었는데 예상치 못한 결과과 나왔습니다.
    읽고자 하는 자료는 -128 ~ 127의 값을 캐릭터 형태인 1-byte character로 저장을 했다고 합니다. 해서, 1byte-character를 IDL에서 어떻게 읽는지 궁금합니다.
    ㅜㅜ

    —–
    IDL> a = bindgen(10)+100B
    IDL> help, a
    A BYTE = Array[10]
    IDL> print, a
    100 101 102 103 104 105 106 107 108 109
    IDL> b = string(a)
    IDL> help, b
    B STRING = ‘defghijklm’
    IDL> print, b
    defghijklm
    IDL>

    답변: Binary Data 읽기 #2880
    chobo
    회원

    답변 감사드립니다.
    128을 빼도 원하는 결과는 아닙니다.
    혹시 IDL에서 1byte character는 어떻게 읽을수 있나요?

    답변: 백그라운드 실행 #2368
    chobo
    회원

    네.. 맞습니다.
    그래서 아래와 같이 LUN(?)을 반복 루프안에서 같이 사용하고 있습니다.
    (실제로, 1개의 창만 띄우려고…)
    아래와 같이 해도, 위에서 말씀하신 효과가 있는 것이지요?
    물론 WDELETE가 가장 깔끔한 방법이긴 합니다만…
    감사합니다.
    ——
    FOR i = 0, 1000 DO BEGIN
    WINDOW, 1, ~~~
    ~~~(그림 그리기 작업)~~~
    ENDFOR

    답변: 백그라운드 실행 #2365
    chobo
    회원

    아.. 그렇군요.
    감사합니다.
    그런데, help를 검색해보니, 아래와 같은 note가 있네요.
    MS window에서는 GDI resource (메모리)라는거에 어쩌고저쩌고 영향을 받는다….
    혹시 많은 개수를 그리면 제한이 있을까요? 아니면 반복문 loop안에서 그림 그리는 것을 반복하기때문에 resource를 계속 누적하지는 않아서 괜찮은 것인가요?
    (평소에는 그냥 넘어가는데 갑자기 궁금해지내요. 물론, 저는 무식하게 메몰리 제한 여부를 파악하기 전에 돌리고 볼거지만요~~)
    다시한번, 감사드립니다.

    ——
    PIXMAP
    Set the PIXMAP keyword to specify that the window being created is actually an invisible portion of the display memory called a pixmap.
    Note: On Microsoft Windows systems, the number of pixmap windows that can be created is limited by system GDI resources. The number of pixmap windows IDL can create is constrained by the total amount of GDI memory, the amount of GDI memory used by other applications, and the size of the IDL pixmap windows.

    답변: mpfit #2005
    chobo
    회원

    안녕하세요..

    mpfit으로 gauss fitting을 하고자 합니다.
    코드는 아래와 같이 작성했는데,
    자꾸 에러가 발생합니다.
    syntax error라는데… ㅜㅜ
    오후 내내 삽질하고 있습니다.
    어느 부분이 문제일까요?

    pro mpfit_test
    x = findgen(21, start = 51.)
    y = [0.259140, 0.320440, 0.352395, 0.415606, 0.466519, 0.618763, 0.702596, 0.842151, 0.980824, 1.01404, $
    1.12439, 0.975067, 0.943691, 0.847766, 0.708441, 0.573130, 0.483977, 0.393586, 0.360299, 0.332075, 0.296387]

    help, x
    help, y

    window, xs = 500, ys = 400
    plot, x, y, psym=2, color = 250

    ; — Gasuss fitting —
    expr = ‘P(0) + GAUSS1(X, P(1:3))’
    err = replicate(0., n_elements(y)) ; no error
    weights = replicate(1., n_elements(y)) ; no weighting = same weighting
    start = [0.2, 1., 1., 1.]
    result = MPFITEXPR(expr, x, y, err, start, weights=weights, yfit = y_fitted)
    oplot, x, y_fitted, color = 200

    stop
    end

    IDL> .RESET_SESSION
    IDL> .compile -v ‘D:\SpaceSienceTeam\SPECRED\codes\mpfit_test.pro’
    % Compiled module: MPFIT_TEST.
    IDL> mpfit_test
    % Compiled module: MPFIT_TEST.
    X FLOAT = Array[21]
    Y FLOAT = Array[21]
    % Compiled module: MPFITEXPR.
    % Compiled module: MPFIT.

    _f = P(0) + GAUSS1(X, P(1:3))
    ^
    % Syntax error.
    % MPFITEXPR: ERROR: execution of “P(0) + GAUSS1(X, P(1:3))” failed.
    % MPFITEXPR: check syntax and parameter usage
    % Illegal subscript range: RESULT.
    % Execution halted at: MPFIT_TEST 21 D:\SpaceSienceTeam\SPECRED\codes\mpfit_test.pro
    % $MAIN$
    IDL>

    답변: mpfit를 이용한 fitting관련한 질문 #1954
    chobo
    회원

    글쿤요..
    감사합니다. *^^*

    답변: mpfit를 이용한 fitting관련한 질문 #1952
    chobo
    회원

    위 글을 삭제할 수가 없군요.. *^^*
    아래 부분에 실수가 ^^*
    이제 엑셀 결과와 거의 비슷해졌습니다…
    그런데, 엑셀의 R2값에 상응하는 값을 mpfit에서도 출력할 수 있는지요?
    yerr = replicate(0, 5) ; no error
    weights = replicate(1, 5) ; no weighting = same weighting

    chobo
    회원

    ㅎ 그렇군요.
    덕분에 좋은 팁 알았습니다. 감사합니다. *^^*

    답변: 바이너리 포맷 읽기 #1405
    chobo
    회원

    매번 감사합니다.
    덕분에 실마리를 찾은 것 같습니다. ^^

    답변: 바이너리 포맷 읽기 #1393
    chobo
    회원

    위 코드 에서 offset = rm[i]를 offset = rm[0, i] 로 수정합니다.

    답변: image – tv #1166
    chobo
    회원

    그렇군요.. 저는 왜 굳이 키워드만 찾으려고 했을까요..
    감사합니다. ^^*

    답변: mpfit #1149
    chobo
    회원

    매번 감사합니다.
    글을 올리시는 시간이 범상치 않습니다.
    얼른 IDL 고수가 되어서 조금이라도 덜 귀찮게 해드려야되는데요….*^^*

14 글 보임 - 1 에서 14 까지 (총 14 중에서)