Добавление значений одномерного массива с плавающей точкой
У меня есть два вопроса относительно библиотеки Evil Dicom.
Я знаю, что с помощью функции float все пиксельные данные содержатся в виде элементов с плавающей точкой в одномерном массиве. Мой вопрос здесь, как я могу сложить отдельные элементы, чтобы получить одно значение?
После того, как я умножил черно-белую маску на исходное изображение, как я могу затем добавить ненулевые значения на изображении? Я также использую функцию с плавающей точкой, чтобы получить данные как массив и затем добавить элементы массива? Если нет, как я могу сложить пиксели на изображении из левого верхнего угла в правый нижний угол?
1 ответ
Насколько я знаю, в библиотеке Evil DICOM нет специальных функций для этих операций, но всегда есть LINQ.
Если вы ищете сумму всех элементов пикселя:
var imgMtx = new ImageMatrix("image.dcm");
var sum = imgMtx.Image.Sum();
Если вы ищете сумму ненулевых значений:
var nonZeroSum = imgMtx.Image.Where(val => val != 0.0f).Sum();
Если вы ищете среднее значение, просто замените Sum
с Average
,