2016-04-29 3 views
0

У меня есть множество значений, и я хотел бы масштабировать (масштабировать) его. С поплавками я смог использовать scipy.ndimage.zoom, но теперь мой массив содержит сложные значения, которые не поддерживаются scipy.ndimage.zoom. Мое обходное решение состояло в том, чтобы разделить массив на две части (реальную и мнимую) и масштабировать их независимо. После этого я добавляю их обратно вместе. К сожалению, это дает много мелких артефактов в моем «изображении». Кто-нибудь знает лучший способ? Может быть, для этого также существует библиотека python? Я не мог найти его.Scipy zoom со сложными значениями

Спасибо!

+0

Если я правильно понял, вы хотите интерполировать между комплексными числами при масштабировании. Этот ответ может дать некоторые подсказки относительно того, почему это сложно: http://stackoverflow.com/questions/23918036/interpolate-whole-arrays-of-complex-numbers. Эта открытая проблема предполагает, что она не разрешена в scipy https://github.com/scipy/scipy/issues/2650 –

ответ

0

Это нехороший ответ, но, похоже, он работает неплохо. Вместо использования параметров по умолчанию для метода масштабирования я использую order=0. Затем я перехожу к реальной и мнимой части отдельно, как описано в моем вопросе. Это уменьшает артефакты, хотя некоторые меньшие артефакты остаются. Это отнюдь не идеально, и если у кого-то есть лучший ответ, мне было бы очень интересно.

Смежные вопросы