Tôi hiện đang làm việc với dữ liệu thiên văn trong đó tôi có hình ảnh sao chổi. Tôi muốn loại bỏ gradient nền trong những hình ảnh này do thời gian chụp (chạng vạng). Chương trình đầu tiên tôi phát triển để làm như vậy đã lấy điểm người dùng được lựa chọn từ "ginput" của Matplotlib (x, y) kéo dữ liệu cho mỗi tọa độ (z) và sau đó gridded dữ liệu trong một mảng mới với SciPy "griddata".Phù hợp với bề mặt đa thức Python 3D, thứ tự phụ thuộc
Vì nền được giả định chỉ thay đổi một chút, tôi muốn phù hợp với đa thức bậc thấp 3d cho tập hợp các điểm (x, y, z) này. Tuy nhiên, "griddata" không cho phép cho một trật tự đầu vào:
griddata(points,values, (dimension_x,dimension_y), method='nearest/linear/cubic')
Bất kỳ ý tưởng về một chức năng mà có thể được sử dụng hoặc một phương pháp để phát triển một leas-ô vuông phù hợp mà sẽ cho phép tôi để kiểm soát trật tự?
Đây là một giải pháp rất thanh lịch cho vấn đề. Tôi đã sử dụng mã gợi ý của bạn để phù hợp với một paraboloid elliptic với một sửa đổi nhỏ tôi muốn chia sẻ. Tôi chỉ quan tâm đến việc lắp các giải pháp tuyến tính theo dạng 'z = a * (x-x0) ** 2 + b * (y-y0) ** 2 + c'. Bạn có thể xem mã đầy đủ cho các thay đổi của tôi [tại đây] (http://www.nublia.com/dev/stackoverflow/stow_polyfit2d.py). – regeirk
Lưu ý: Đối với các phiên bản gần đây của sần, hãy xem câu trả lời của @ klaus bên dưới. Tại thời điểm câu trả lời ban đầu của tôi 'polyvander2d', v.v. không tồn tại, nhưng chúng là cách để đi, những ngày này. –
thực sự là một đa thức bậc 3? trừ khi tôi hiểu sai, nhưng nó sẽ không có thuật ngữ 'X ** 3 * Y ** 3' của đơn đặt hàng 6? – maxymoo