원 안의 array의 주소값을 얻는 법에 대해 문의드립니다

게시판 IDL Q&A 원 안의 array의 주소값을 얻는 법에 대해 문의드립니다

6 답변 글타래를 보이고 있습니다
  • 글쓴이
    • #571 Reply
      hm_park
      회원

      안녕하세요. 바뀐이후로 처음 글을 써보네요.

      2차원 이미지가 있습니다.

      특정한 중심점을 기준으로 반경이 주어지고, 그 반경값과 각도를 사용해서

      원 외곽의 x, y 좌표값을 얻었습니다(cosine, sine을 사용해서).

      문제는 그렇게 얻어진 원 내부의 배열에 대한 주소값들을 얻고 싶은데 얻을 수 있는 방법이 없네요.

      where 나 xroi 혹은 xdefroi 등을 사용해서 얻는것과 같이 원 내부에서의 array의 주소값들을 알고 싶은데 방법이 없을까요?

      이미지를 올리면 더 쉽게 보여드릴수 있을텐데, url을 사용하는 방법 외에 이미지 첨부 기능이 없네요 ㅠㅠ

      방법이 생각나지 않아서 문의드립니다.

      그럼 답변 부탁드려요

      • 이 게시글은 hm_park에 의해 10 years, 12 months 전에 수정됐습니다.
      • 이 게시글은 hm_park에 의해 10 years, 12 months 전에 수정됐습니다.
    • #574 Reply
      Sangwoo
      회원

      IDL의 기본 라이브러리에는 이런 역할을 하는 함수는 없지만, 대신 Coyote 라이브러리에 있는 INSIDE라는 함수를 사용하시면 될 것 같습니다. 이 라이브러리는 아래 링크에서 다운로드받아서 설치하면 됩니다.

      http://www.idlcoyote.com/documents/programs.php

    • #575 Reply
      hm_park
      회원

      그렇군요 답변 감사합니다 ^^;

    • #576 Reply
      hm_park
      회원

      알려주신 루틴을 돌려봤는데, 제가 원하는 루틴은 아닌것 같습니다. 내부의 갯수를 세는건 가능하지만 array의 address를 출력해주지는 못하는거 같아요. 좀 더 찾아봐야겠네요 ㅠㅠ

      • 이 답변은 hm_park에 의해 10 years, 12 months 전에 수정됐습니다.
    • #578 Reply
      Sangwoo
      회원

      제가 정확히 이해한 것인지는 모르겠지만, 이미지를 구성하는 모든 픽셀들에 대하여 반복문의 형태로 INSIDE 함수를 적용해서 그게 1이냐 0이냐를 판단하고 1인 경우의 좌표들만 따로 모으는 방식으로 작업을 하면 되지 않을까 생각은 듭니다.

    • #579 Reply
      hm_park
      회원

      그런식으로 하는건 생각을 하지 못했네요. 반복문에 시간이 좀 걸리긴 하겠지만 한번 해봐야겠습니다. 아이디어 감사드려요 ^^

      • 이 답변은 hm_park에 의해 10 years, 11 months 전에 수정됐습니다.
    • #593 Reply
      dari
      회원

      x0 = 100.7
      y0 = 125.1
      r0 = 25.0
      im = fltarr(200,300)

      nx = (size(im, /dim))[0]
      ny = (size(im, /dim))[1]

      xx = findgen(nx) # (findgen(ny)*0+1)
      yy = (findgen(nx)*0+1) # findgen(ny)
      rr = sqrt((xx-x0)^2 + (yy-y0)^2)

      help, im, xx, yy, rr

      within = where(rr le r0)
      im[within] = 1.0

      window, xsize=nx, ysize=ny
      tvscl, im

6 답변 글타래를 보이고 있습니다
'원 안의 array의 주소값을 얻는 법에 대해 문의드립니다'에 답변달기
글쓴이 정보: