2012-03-10 5 views
3

나는 가려진 마스크가있다. 마스크 된 영역에서 보간 작업을 수행하려고했습니다. RectBivariateSpline을 시도했지만 마스크 된 영역을 마스크로 인식하지 못하고 보간하기 위해 해당 점을 사용했습니다. 나는 또한 X, Y, Z 1d 벡터를 생성 한 후에 bisplrep를 시도했다. 그들은 길이가 각각 45900입니다. Bsplines를 계산하는 데 많은 시간이 걸렸습니다. 그리고 마지막으로 bisplev를 실행하는 동안 세그멘테이션 오류가 발생했습니다. 2 차원 행렬의 크기는 270x170입니다.큰 2 차원 마스크 된 배열의 보간

RectBivariateSpline을 마스크 된 영역을 보간에 포함시키지 않는 방법이 있습니까? 아니면 다른 방법이 있습니까? bisplrep가 너무 느립니다.

indiajoe, 감사 하라구요 UPDATE : 그리드 '선형'기능을 합리적으로 일을하고있다과 scipy.interpolate.Rbf 작다. 그러나 배열이 클 때 오류가 발생합니다.

매트릭스를 보간하고 부드럽게 할 수있는 다른 함수가 있습니까?

나는 또한 다음과 결론을 내렸다. 내가 틀렸다면 나를 바로 잡아라.

1) RectBivariateSpline은 완벽하게 채워진 행렬을 필요로하므로 마스크 된 행렬을 사용할 수 없습니다. 나는 당신과 비슷한 문제를 가지고, 또한 "thin_plate"기능이 나를 위해 잘 작동하는 RBF와 메모리 오류 (bisplines와 세그먼트 오류를 ​​받고, 그리고하고

답변

1
매우 늦게

,하지만 ... .

내 데이터가 구조화되지 않은 방식이지만 구조화 된 방식으로 만들어 지므로 Rbf를 사용할 수 있도록 데이터 샘플링 밀도의 절반 또는 1/3로 다운 샘플링을 사용합니다. 내가 권고하는 것은 (매우 비효율적입니다 ,하지만 여전히 낫지 않은 것보다 더 좋음) 겹치는 여러 영역에서 행렬을 세분화 한 다음 각 영역에 대해 rbf 보간을 작성한 다음 한 점을 보간하면 적절한 보간기를 선택하십시오.

또한 마스크 된 배열이있는 경우에도 마스크되지 않은 배열에서 보간을 수행 한 다음 결과에 마스크를 적용 할 수 있습니다.

희망이 누군가

+1

에게 도움이 (물론 실제로 아니, 주석을 참조) "당신이 마스크 배열이있는 경우 또한, 당신은 여전히 ​​그 결과에 마스크를 적용, 마스크되지 않은 배열에 보간을 수행 할 수 있습니다." . 일반적으로 없습니다. 마스크 된 값은 난센스 일 수 있습니다. 보간법에서이 넌센스를 고려하면 가면 영역 밖에서도 넌센스 결과를 얻을 수 있습니다. –

관련 문제