-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathReport.cs
158 lines (144 loc) · 7.31 KB
/
Report.cs
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
// --------------------------------------------------------------------------------
// VariScan module
//
// Description:
//
// Environment: Windows 10 executable, 32 and 64 bit
//
// Usage: TBD
//
// Author: (REM) Rick McAlister, [email protected]
//
// Edit Log: Rev 1.0 Initial Version
//
// Date Who Vers Description
// ----------- --- ----- -------------------------------------------------------
//
// ---------------------------------------------------------------------------------
//
using System;
using System.Windows.Forms;
using System.IO;
namespace VariScan
{
public class Report
{
public static void CreateSummaryReport(string textFilePath)
{
// Target Name, Target RA(j2K), Target Dec(j2K), Image UTC, Image Filter, Differential Catalog Mag, APASS Catalog Mag, Standard Catalog Variance, APASS Catalog Variance,
//
// Description:
// Load the Starchive File
// Create an output text file
// For each element in the starchive file,
// Build a string in the proposed format, with comma separation
// Save the string as a line in the text file
const string header = "Target Name" + "," +
"Target RA(j2K)" + "," +
"Target Dec(j2K)" + "," +
"Session Date" + "," +
"Image Time" + "," +
"Catalog" + "," +
"Primary Image Filter" + "," +
"DifferentialImage Filter" + "," +
"Primary Color Standard" + "," +
"Differential Color Standard" + "," +
"Standard Magnitude" + "," +
"Magnitude Std Dev" + "," +
"Color Transform" + "," +
"Magnitude Transform" + "," +
"APASS Star Count" + "," +
"Gaia Star Count";
StreamWriter csvFile;
try { csvFile = File.CreateText(textFilePath); }
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
//write header
csvFile.WriteLine(header);
foreach (TargetData tData in Starchive.RetrieveAllPhotometry())
{
string bLine = tData.TargetName + "," +
Utility.SexidecimalRADec(tData.TargetRA, true) + "," +
Utility.SexidecimalRADec(tData.TargetDec, false) + ", " +
tData.SessionDate.ToString("MMM/dd/yyyy") + "," +
tData.ImageDateUT.ToString("hh:mm:ss") + "," +
tData.CatalogName + "," +
tData.PrimaryImageFilter.ToString() + "," +
tData.DifferentialImageFilter.ToString() + "," +
tData.PrimaryStandardColor.ToString() + "," +
tData.DifferentialStandardColor.ToString() + "," +
tData.StandardColorMagnitude.ToString("0.000") + ", " +
tData.StandardMagnitudeError.ToString("0.000") + "," +
tData.ColorTransform.ToString("0.000") + "," +
tData.MagnitudeTransform.ToString("0.000") + "," +
tData.ApassStarCount.ToString() + "," +
tData.GaiaStarCount.ToString();
if (tData.IsTransformed && tData.StandardColorMagnitude != 0)
csvFile.WriteLine(bLine);
}
csvFile.Close();
return;
}
public static void CreateAAVSOReport(string textFilePath, string AAVSO_Observers_Code)
{
//https://www.aavso.org/aavso-extended-file-format
const string EXTENDED = "Extended";
const string VARSURVEYNAME = "VariScan 1.0 (TheSkyX)";
const string DELIMITER = ",";
const string EXCELDATETYPE = "EXCEL"; //EXCEL: the format created by Excel's NOW() function (Ex: 12/31/2007 12:59:59 a.m )
const string OBSTYPECODE = "CCD";
const string TYPE = "#TYPE";
const string OBSCODE = "#OBSCODE";
const string SOFTWARE = "#SOFTWARE";
const string DELIM = "#DELIM";
const string DATE = "#DATE";
const string OBSTYPE = "#OBSTYPE";
const string HEADERLINE = "#NAME,DATE,MAG,MERR,FILT,TRANS,MTYPE,CNAME,CMAG,KNAME,KMAG,AMASS,GROUP,CHART,NOTES";
//Form Header
string header = TYPE + "=" + EXTENDED + "\n" +
OBSCODE + "=" + AAVSO_Observers_Code + "\n" +
SOFTWARE + "=" + VARSURVEYNAME + "\n" +
DELIM + "=" + DELIMITER + "\n" +
DATE + "=" + EXCELDATETYPE + "\n" +
OBSTYPE + "=" + OBSTYPECODE + "\n" +
HEADERLINE;
StreamWriter csvFile = File.CreateText(textFilePath);
//write header
csvFile.WriteLine(header);
//for each entry in the Starchive, create a line
foreach (TargetData tData in Starchive.RetrieveAllPhotometry())
{
if (tData.IsTransformed)
{
string bline = tData.TargetName + DELIMITER; //STARID
string cline = tData.PrimaryStandardColor + "/" + tData.DifferentialStandardColor;
bline += tData.ImageDateUT.ToString() + DELIMITER; //DATE UT
bline += tData.StandardColorMagnitude + DELIMITER; //MAGNITUDE
bline += tData.StandardMagnitudeError + DELIMITER;//MAGERR
bline += tData.PrimaryStandardColor + DELIMITER;
bline += "NO" + DELIMITER; //TRANS NOT LANDOLT STANDARDS
bline += "STD" + DELIMITER; //MTYPE
bline += "na" + DELIMITER; //CNAME
bline += tData.SourceInstrumentMagnitude.ToString("0.000") + DELIMITER; //CMAG
bline += "na" + DELIMITER; //KNAME
bline += "ensemble" + DELIMITER; //KMAG
bline += tData.AirMass.ToString("0.000") + DELIMITER; //AIRMASS
bline += "na" + DELIMITER; //GROUP
bline += tData.CatalogName + "(" + cline + ")" + DELIMITER; //CHART
bline += "Full frame light source calibration via differential transformation using " + tData.ApassStarCount.ToString("0") + " " +
tData.CatalogName + " cataloged stars to transform " +
"Primary " + tData.PrimaryImageFilter + "/" +
"Differential " + tData.DifferentialImageFilter +
" filter data to " +
tData.PrimaryStandardColor + " standard color."; //NOTES
csvFile.WriteLine(bline);
}
}
csvFile.Close();
return;
}
}
}