В Photoshop сделать можно через Gradient Map («карту градиента»)
1. Сделать базовое изображение (можно в градациях серого) с плавными переходами яркости: светлые области станут радужными «горами», темные – полосатыми «низинами». Размыть, чтобы не было мелких деталей, добавить Liquify и всякие другие плавные искажения.
2. Подготовить градиент, который слева будет чередой белых и черных областей, а ближе к другому краю – радужными переходами ярких цветов.
3. Использовать этот градиент как карту цветов. В Photoshop это – наложить корректирующий слой Gradient Map поверх изображения.
У меня наскоро получилось такое:
Вот
tutorial с похожим эффектом.