я впервые задаю вопрос в stackoverflow. Я изо всех сил старался не нарушать правила, но дайте мне знать, если они есть — пожалуйста, поймите, поскольку это мой первый раз.
У меня есть код на Mathematica, и я думаю, что он ДЕЙСТВИТЕЛЬНО медленный.
У меня есть стопка изображений — пара сотен, и я создавал простой алгоритм в Mathematica для объединения изображений в одно изображение путем усреднения данных пикселей по всему стеку.
Например, предположим, что у меня есть пиксель размером 520 x 23, и я хочу получить все числа (данные) из каждого отдельного изображения в стеке и усреднить эту таблицу. Я хочу повторить этот процесс для каждого пикселя моего изображения. Затем я смогу преобразовать данные в изображение, используя Image[]. Для тестирования я использовал изображение 1024 на 1024, но в конечном итоге хочу использовать 8000 на 8000.
Вот мой код:
idlist = Map[ImageData, ilist];
Table[Table[Map[Mean,Transpose[Table[idlist[[a,b,c]],{a,1,Length[idlist]}]]],{b,1,1024}], {c, 1, 1024}]
Я обнаружил, что моя вложенная таблица по каким-то странным причинам работает быстрее, чем при использовании одной таблицы.
1.Как мне это оптимизировать? 2. Есть ли польза от использования каких-либо параллельных вычислений для этой конкретной реализации?