2013-10-17 1 views
2

파이썬에서 균일하지 않은 격자로 필터링을 수행해야합니다. 따라서, I는 griddata 의해 균일 하나로 비 균일 그리드 보간 : ZI 여과 한 후numpy interpolate의 올바른 사용

zi = interpolate.griddata((xin, yin), zin, (xi[None,:], yi[:,None]), method='cubic') 

그리고, I는 일본어 신화, 음 포인트 메쉬 보간 백업 할 필요가있다. 나는이 작업을 수행 할 경우

zout = interpolate.griddata((xi, yi), zi, (xin[None,:], yin[:,None]), method='cubic') 

내가 들로네 삼각 분할에서 "qhull 정밀 경고"및 "qhull 오류"에 관한 이해하지 않는 일부 오류를 얻을.

이 문제를 어떻게 해결할 수 있습니까? 그것은 (xin, yin)이 주문되지 않았다는 사실과 관련 될 수 있습니까? 감사.

[업데이트] 입력 데이터가 무엇인지 명확히하려고 노력할 것입니다. 입력 데이터는 중앙에서 정제 된 직교 메쉬입니다 (x 축과 y 축 모두에서). 필터를 적용하기 위해서는 균일하게 샘플링 된 버전을 보간해야하며, 균일하게 샘플링 된 것에서부터 세련된 샘플로 돌아가려면 다른 보간법을 수행해야합니다.

xin, yin, zin은 1D 배열뿐 아니라 xi 및 yi입니다. zi (griddata의 출력)는 2D 배열입니다.

+0

게시물에 몇 가지 샘플 입력 데이터를 추가 할 수 있습니까? 원하는 경우 동일한 모양의 무작위 데이터를 생성 할 수 있습니다. – YXD

+0

'method = 'nearest'를 사용해보고이 오류가 발생하는지 확인하십시오 ... –

+3

귀하의 데이터는 어떻습니까? 2-D로 분산 된 점 또는 정규 그리드에서 정렬 된 데이터입니까? 'xin.shape','yin.shape','zin.shape'이란 무엇입니까? 이 정보가 없으면 제대로 기능을 사용하고 있는지 여부를 말하기 어렵습니다. "Qhull 오류"는 일반적으로 데이터가 2D에서 단일 행을 따라 있으므로 어떤 종류의 보간에도 사용할 수 없음을 의미합니다. –

답변

1

griddata으로 두 번째 전화가 잘못되었습니다. xiyi은 각 점의 좌표이며, zi[i,:]은 점 (xi[i], yi[i])에 해당하는 값입니다.

xiyi 배열의 숫자는 동일한 숫자 인 N입니다. 따라서 즉시 오류가 발생하지 않습니다. 함수가 실제로 뭔가 다른 작업을 원한다고 추측 할 수는 없습니다.