Я пытаюсь сопоставить два набора данных. Они содержат результаты измерения одного и того же объекта двумя разными измерительными устройствами (рентгеновский или микрокт).
Мне удалось восстановить данные изображения и подогнать ориентацию и смещение стеков. Выглядит это так (одно изображение из стопки около 500 изображений):
Весь смысл в том, чтобы сравнить несколько алгоритмов шумоподавления на рентгеновских данных (слева). Предполагается, что данные µCT (справа) близки к реальному сигналу без каких-либо шумов. Итак, я хочу сравнить рентгеновские данные с шумоподавлением от каждого из алгоритмов с «чистым» сигналом от микроКТ, чтобы увидеть, какой алгоритм дает наименьшую среднеквадратичную ошибку. Поэтому мне нужно каким-то образом подогнать значения серого из левой части к значениям из правой части, не слишком сильно манипулируя шумом.
Значения серого справа находятся в диапазоне от 0 до 100, тогда как данные рентгеновского излучения находятся в диапазоне от 4000 до 30000. «Пузырьки» находятся в диапазоне от 8000 до 11000 (это не настоящие пузырьки, а искусственные). фантом с дырочками из 3д принтера)
То, что я пытался сделать, это (своего рода) пропустить эти пузыри и сопоставить их с ~ 100, сдвинув все остальное к 4 (что является значением для фона на данных µCT).
Это код для этого:
zwst = zwsr;
zwsr(zwst<=8000)=round(zwst(zwst<=6500)*4/8000);
zwsr(zwst<=11000 & zwst>8000)= round(zwst(zwst<=11000 & zwst>8000)/9500*100);
zwsr(zwst>11000)=round(zwst(zwst>11000)*4/30000);
Результаты выглядят следующим образом:
Некоторые из этих пузырей выглядят искаженными, а часть шума на заднем плане полностью исчезла. Есть ли лучший способ подогнать эти значения серого, сохранив шумную часть?
РЕДАКТИРОВАТЬ: Чтобы прояснить ситуацию: предполагается, что данные µCT не содержат шума, а данные рентгеновского снимка предполагаются зашумленными. Другими словами, µCT = signal
, а x-ray = signal + noise
. Чтобы оценить качество моих методов шумоподавления, я хочу вычислить x-ray - µCT = noise
.