-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathreport.h
51 lines (45 loc) · 1.52 KB
/
report.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#ifndef REPORT_H
#define REPORT_H
#include "itkMetaDataObject.h"
#include "itkRGBPixel.h"
#include "itkImageAdaptor.h"
#include <string>
#include <vector>
#include <map>
// a simple report builder that exports a DICOM file
// provide the information required to setup the report
using CPixelType = itk::RGBPixel<unsigned char>;
using CImageType = itk::Image<CPixelType, 2>;
typedef struct {
std::string filename;
std::string VersionString; // provided by the user on the command line
std::string PatientName;
std::string PatientID;
std::string SOPInstanceUID; // 64chars max
std::string SeriesInstanceUID;
std::string StudyInstanceUID;
std::string StudyDescription;
std::string FrameOfReferenceUID;
std::string ReferringPhysician;
std::string StudyID; // 16 chars max
std::string AccessionNumber;
std::string SeriesDescription;
std::string ReportSeriesInstanceUID;
std::string ReportSOPInstanceUID;
std::string StudyDate;
std::string StudyTime;
std::string key_fact;
std::string key_unit;
std::string InstitutionName;
float BrightnessContrastLL;
float BrightnessContrastUL;
std::string ReportType;
CImageType::Pointer keyImage;
std::vector<std::array<int, 2> > keyImagePositions;
std::vector<std::string> keyImageTexts;
std::vector<std::vector<std::string> > summary;
std::vector<std::map<std::string, std::string> > measures;
} Report;
Report *getDefaultReportStruct();
void saveReport(Report *report, float mean_mean = 23.31783, float mean_stds = 4.539313, bool verbose = false);
#endif