예제 #1
0
        def calculate_statistics(display_data_and_metadata_func,
                                 display_data_range, region,
                                 displayed_intensity_calibration):
            display_data_and_metadata = display_data_and_metadata_func()
            data = display_data_and_metadata.data if display_data_and_metadata else None
            data_range = display_data_range
            if data is not None and data.size > 0 and displayed_intensity_calibration:
                mean = numpy.mean(data)
                std = numpy.std(data)
                rms = numpy.sqrt(numpy.mean(numpy.square(
                    numpy.absolute(data))))
                sum_data = mean * functools.reduce(
                    operator.mul,
                    Image.dimensional_shape_from_shape_and_dtype(
                        data.shape, data.dtype))
                if region is None:
                    data_min, data_max = data_range if data_range is not None else (
                        None, None)
                else:
                    data_min, data_max = numpy.amin(data), numpy.amax(data)
                mean_str = displayed_intensity_calibration.convert_to_calibrated_value_str(
                    mean)
                std_str = displayed_intensity_calibration.convert_to_calibrated_value_str(
                    std)
                data_min_str = displayed_intensity_calibration.convert_to_calibrated_value_str(
                    data_min)
                data_max_str = displayed_intensity_calibration.convert_to_calibrated_value_str(
                    data_max)
                rms_str = displayed_intensity_calibration.convert_to_calibrated_value_str(
                    rms)
                sum_data_str = displayed_intensity_calibration.convert_to_calibrated_value_str(
                    sum_data)

                return {
                    "mean": mean_str,
                    "std": std_str,
                    "min": data_min_str,
                    "max": data_max_str,
                    "rms": rms_str,
                    "sum": sum_data_str
                }
            return dict()
예제 #2
0
        def calculate_statistics(display_data_and_metadata_func: typing.Callable[[], typing.Optional[DataAndMetadata.DataAndMetadata]], display_data_range: typing.Optional[typing.Tuple[float, float]], region: typing.Optional[Graphics.Graphic], displayed_intensity_calibration: typing.Optional[Calibration.Calibration]) -> typing.Dict[str, str]:
            display_data_and_metadata = display_data_and_metadata_func()
            data = display_data_and_metadata.data if display_data_and_metadata else None
            data_range = display_data_range
            if data is not None and data.size > 0 and displayed_intensity_calibration:
                mean = numpy.mean(data)
                std = numpy.std(data)
                rms = numpy.sqrt(numpy.mean(numpy.square(numpy.absolute(data))))
                dimensional_shape = Image.dimensional_shape_from_shape_and_dtype(data.shape, data.dtype) or (1, 1)
                sum_data = mean * functools.reduce(operator.mul, dimensional_shape)
                if region is None:
                    data_min, data_max = data_range if data_range is not None else (None, None)
                else:
                    data_min, data_max = numpy.amin(data), numpy.amax(data)
                mean_str = displayed_intensity_calibration.convert_to_calibrated_value_str(mean)
                std_str = displayed_intensity_calibration.convert_to_calibrated_value_str(std)
                data_min_str = displayed_intensity_calibration.convert_to_calibrated_value_str(data_min) if data_min is not None else str()
                data_max_str = displayed_intensity_calibration.convert_to_calibrated_value_str(data_max) if data_max is not None else str()
                rms_str = displayed_intensity_calibration.convert_to_calibrated_value_str(rms)
                sum_data_str = displayed_intensity_calibration.convert_to_calibrated_value_str(sum_data)

                return { "mean": mean_str, "std": std_str, "min": data_min_str, "max": data_max_str, "rms": rms_str, "sum": sum_data_str }
            return dict()