Добавление значений одномерного массива с плавающей точкой

У меня есть два вопроса относительно библиотеки 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,

Другие вопросы по тегам