def get_report(self, doc: Printer):
        doc.add_heading("{} {}. Эталон {}".format(self.sample_name, self.factor_name, self.std.name), 0)

        # Значения
        doc.add_heading("Последовательность расстояний от максимумов значений эталона до максимумов фактор-образца", 1)
        doc.add_paragraph(str_arr(self.distance))

        doc.add_heading("Результат визуального анализа распределения расстояний от максимумов значений эталона", 1)
        doc.add_picture(self.va)

        doc.add_heading("Результат статистического анализа распределения расстояний от максимумов значений эталона", 1)
        report_stats(self.stat, doc)

        doc.add_heading("Результаты тестирования нормальности распределения расстояний от максимумов значений эталона",
                        1)
        report_ntest(self.ntest, doc)

        # Амплитуды
        doc.add_heading(
            "Последовательность расстояний от максимумов амплитуд значений эталона до максимумов фактор-образца", 1)
        doc.add_paragraph(str_arr(self.distance_apl))

        doc.add_heading(
            "Результат визуального анализа распределения расстояний от максимумов амплитуд значений эталона", 1)
        doc.add_picture(self.va_apl)

        doc.add_heading(
            "Результат статистического анализа распределения расстояний от максимумов амплитуд значений эталона", 1)
        report_stats(self.stat_apl, doc)

        doc.add_heading(
            "Результаты тестирования нормальности распределения расстояний от максимумов амплитуд значений эталона", 1)
        report_ntest(self.ntest_apl, doc)
 def get_report_ntest(self, doc: Printer):
     doc.add_heading(
         "Эталон {}. Фактор {}".format(self.std.name, self.factor_name), 0)
     doc.add_heading(
         "Результаты тестирования нормальности распределения расстояний фактор-образцов",
         1)
     report_ntest(self.ntest, doc)
    def get_report(self, doc: Printer):
        doc.add_heading("Группа эталонов. Группа образцов", 0)

        for factor, factor_name in enumerate(FACTORS_L):
            doc.add_heading("Для фактора {}".format(factor_name), 1)

            doc.add_heading(
                "Распределения средних значений фактор-образцов {}".format(
                    factor_name), 1)
            for idx, std in enumerate(self.stds):
                doc.add_heading("Для эталона {}".format(std.name), 2)
                doc.add_paragraph("Количество значений равно = {}".format(
                    len(self.max_list[idx][factor])))
                doc.add_paragraph(str_arr(self.max_list[idx][factor]))

            doc.add_heading(
                "Результаты визуального анализа распределений средних значений фактор-образцов {}"
                .format(factor_name), 1)
            for idx, std in enumerate(self.stds):
                doc.add_heading("Для эталона {}".format(std.name), 2)
                doc.add_picture(self.va[idx][factor])

            doc.add_heading(
                "Результаты статистического анализа распределений средних значений фактор-образцов {}"
                .format(factor_name), 1)
            for idx, std in enumerate(self.stds):
                doc.add_heading("Для эталона {}".format(std.name), 2)
                report_stats(self.stat[idx][factor], doc)

            doc.add_heading(
                "Результаты тестирования нормальности распределений средних значений фактор-образцов {}"
                .format(factor_name), 1)
            for idx, std in enumerate(self.stds):
                doc.add_heading("Для эталона {}".format(std.name), 2)
                report_ntest(self.ntest[idx][factor], doc)
    def get_report(self, doc: Printer):
        doc.add_heading(
            "Группа эталонов. {}".format(Sample.display_file_group(
                self.factor)), 0)

        doc.add_heading(
            "Распределение средних значений фактор-образцов {}".format(
                self.factor_name), 1)
        for std, ml in zip(self.stds, self.max_list):
            doc.add_heading("Для эталона {}".format(std.name), 2)
            doc.add_paragraph(str_arr(ml))

        doc.add_heading(
            "Результаты визуального анализа распределений средних значений фактор-образцов {}"
            .format(self.factor_name), 1)
        for std, va in zip(self.stds, self.va):
            doc.add_heading("Для эталона {}".format(std.name), 2)
            doc.add_picture(va)

        doc.add_heading(
            "Результаты статистического анализа распределений средних значений фактор-образцов {}"
            .format(self.factor_name), 1)
        for std, stat in zip(self.stds, self.stat):
            doc.add_heading("Для эталона {}".format(std.name), 2)
            report_stats(stat, doc)

        doc.add_heading(
            "Результаты тестирования нормальности распределений средних значений фактор-образцов {}"
            .format(self.factor_name), 1)
        for std, ntest in zip(self.stds, self.ntest):
            doc.add_heading("Для эталона {}".format(std.name), 2)
            report_ntest(ntest, doc)
    def get_report(self, doc: Printer):
        doc.add_heading("{}. Эталон {}".format(self.sample_name, self.std.name), 0)

        # Значения
        doc.add_heading("Ряды расстояний и распределения расстояний от максимумов значений эталона до ближайшего "
                        "максимума образца", 1)
        for factor, xr in zip(FACTORS_L, self.distance):
            doc.add_paragraph(
                "Ряд расстояний от максимумов значений эталона до ближайшего максимума фактор-образца {}:".format(factor))
            doc.add_paragraph(str_arr(xr))

        doc.add_heading("Результат визуального анализа распределения расстояний от максимумов значений эталона", 1)
        for factor, va in zip(FACTORS_L, self.va):
            doc.add_heading("Результаты визуального анализа до ближайшего максимума фактор-образца {}".format(factor), 2)
            doc.add_picture(va)

        doc.add_heading("Результаты статистического анализа распределения расстояний от максимумов значений эталона", 1)
        for factor, stat in zip(FACTORS_L, self.stat):
            doc.add_heading(
                "Результаты статистического анализа до ближайшего максимума фактор-образца {}".format(factor), 2)
            report_stats(stat, doc)

        doc.add_heading("Результаты тестирования нормальности распределения расстояний от максимумов значений эталона", 1)
        for factor, ntest in zip(FACTORS_L, self.ntest):
            doc.add_heading("Результаты тестирования нормальности до ближайшего максимума фактор-образца {}".format(factor), 2)
            report_ntest(ntest, doc)

        # Амплитуды
        doc.add_heading("Ряды расстояний и распределения расстояний от максимумов амплитуд значений эталона до "
            "ближайшего максимума образца", 1)
        for factor, xr in zip(FACTORS_L, self.distance_apl):
            doc.add_paragraph(
                "Ряд расстояний от максимумов амплитуд значений эталона до ближайшего максимума фактор-образца {}:".format(factor))
            doc.add_paragraph(str_arr(xr))

        doc.add_heading("Результат визуального анализа распределения расстояний от максимумов амплитуд значений эталона", 1)
        for factor, va_apl in zip(FACTORS_L, self.va_apl):
            doc.add_heading("Результаты визуального анализа до ближайшего максимума фактор-образца {}".format(factor),
                            2)
            doc.add_picture(va_apl)

        doc.add_heading("Результаты статистического анализа распределения расстояний от максимумов амплитуд значений эталона", 1)
        for factor, stat_apl in zip(FACTORS_L, self.stat_apl):
            doc.add_heading("Результаты статистического анализа до ближайшего максимума фактор-образца {}".format(factor), 2)
            report_stats(stat_apl, doc)

            doc.add_heading(
                "Результаты тестирования нормальности распределения расстояний от максимумов амплитуд значений эталона", 1)
        for factor, ntest_apl in zip(FACTORS_L, self.ntest_apl):
            doc.add_heading("Результаты тестирования нормальности до ближайшего максимума фактор-образца {}".format(factor), 2)
            report_ntest(ntest_apl, doc)
    def get_report(self, doc: Printer):
        doc.add_heading("Группа эталонов. {}".format(self.sample_name), 0)

        for factor, factor_name in enumerate(FACTORS_L):
            doc.add_heading("Для фактора {}".format(factor_name), 1)

            doc.add_heading(
                "Последовательности расстояний от фактор-образца {}".format(
                    factor_name), 1)
            for idx, std in enumerate(self.stds):
                doc.add_heading(
                    "Последовательность расстояний от максимумов фактор-образца {} до ближайшего максимума эталона {}"
                    .format(factor_name, std.name), 2)
                # doc.add_paragraph("Количество значений равно = {}".format(len(self.distance[idx][factor])))
                doc.add_paragraph(str_arr(self.distance[idx][factor]))

            doc.add_heading(
                "Результаты визуального анализа распределения расстояний от фактор-образца {}"
                .format(factor_name), 1)
            for idx, std in enumerate(self.stds):
                doc.add_heading(
                    "Результаты визуального анализа распределения расстояний до эталона {}"
                    .format(std.name), 2)
                doc.add_picture(self.va[idx][factor])

            doc.add_heading(
                "Результаты статистического анализа распределения расстояний от фактор-образца {}"
                .format(factor_name), 1)
            for idx, std in enumerate(self.stds):
                doc.add_heading(
                    "Результаты статистического анализа распределения расстояний до эталона {}"
                    .format(std.name), 2)
                report_stats(self.stat[idx][factor], doc)

            doc.add_heading(
                "Результаты тестирования нормальности распределения расстояний от фактор-образца {}"
                .format(factor_name), 1)
            for idx, std in enumerate(self.stds):
                doc.add_heading(
                    "Результаты тестирования нормальности распределения расстояний до эталона {}"
                    .format(std.name), 2)
                report_ntest(self.ntest[idx][factor], doc)
    def get_report(self, doc: Printer):
        doc.add_heading(
            "Группа эталонов. {} {}".format(self.sample_name,
                                            self.factor_name), 0)

        doc.add_heading(
            "Последовательности расстояний от фактор-образца {}".format(
                self.factor_name), 1)
        for std, xr in zip(self.stds, self.distance):
            doc.add_heading(
                "Последовательность расстояний до эталона {}".format(std.name),
                2)
            doc.add_paragraph("Количество значений равно = {}".format(len(xr)))
            doc.add_paragraph(str_arr(xr))

        doc.add_heading(
            "Результаты визуального анализа распределения расстояний от фактор-образца {}"
            .format(self.factor_name), 1)
        for std, va in zip(self.stds, self.va):
            doc.add_heading(
                "Результаты визуального анализа распределения расстояний до эталона {}"
                .format(std.name), 2)
            doc.add_picture(va)

        doc.add_heading(
            "Результаты статистического анализа распределения расстояний от фактор-образца {}"
            .format(self.factor_name), 1)
        for std, stat in zip(self.stds, self.stat):
            doc.add_heading(
                "Результаты статистического анализа распределения расстояний до эталона {}"
                .format(std.name), 2)
            report_stats(stat, doc)

        doc.add_heading(
            "Результаты тестирования нормальности распределения расстояний от фактор-образца {}"
            .format(self.factor_name), 1)
        for std, ntest in zip(self.stds, self.ntest):
            doc.add_heading(
                "Результаты тестирования нормальности распределения расстояний до эталона {}"
                .format(std.name), 2)
            report_ntest(ntest, doc)
    def get_report(self, doc: Printer):
        doc.add_heading("Эталон {}. Группа образцов".format(self.std.name), 0)

        doc.add_heading(
            "Распределение средних значений фактор-образцов {}".format(
                self.factor_name), 2)
        doc.add_paragraph(str_arr(self.max_list))

        doc.add_heading(
            "Результаты визуального анализа распределений средних значений фактор-образцов {}"
            .format(self.factor_name), 2)
        doc.add_picture(self.va)

        doc.add_heading(
            "Результаты статистического анализа распределений средних значений фактор-образцов {}"
            .format(self.factor_name), 2)
        report_stats(self.stat, doc)

        doc.add_heading(
            "Результаты тестирования нормальности распределений средних значений фактор-образцов {}"
            .format(self.factor_name), 2)
        report_ntest(self.ntest, doc)
 def get_report_ntest_apl(self, doc: Printer):
     doc.add_heading("Фактор {}. Эталон {}".format(self.factor_name, self.std.name), 0)
     doc.add_heading(
         "Результаты тестирования нормальности распределения расстояний от максимумов амплитуд значений эталона", 1)
     report_ntest(self.ntest_apl, doc)