Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
213 changes: 110 additions & 103 deletions coverage.txt
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,13 @@ github.com/observerly/iris/pkg/ifd/entry.go:44.39,46.13 2 0
github.com/observerly/iris/pkg/ifd/entry.go:57.39,57.56 1 0
github.com/observerly/iris/pkg/ifd/entry.go:59.49,59.79 1 0
github.com/observerly/iris/pkg/ifd/entry.go:61.44,61.71 1 0
github.com/observerly/iris/pkg/image/gray16.go:24.88,26.28 1 1
github.com/observerly/iris/pkg/image/gray16.go:26.28,28.3 1 0
github.com/observerly/iris/pkg/image/gray16.go:31.2,40.12 5 1
github.com/observerly/iris/pkg/image/gray16.go:40.12,42.3 1 0
github.com/observerly/iris/pkg/image/gray16.go:45.2,45.35 1 1
github.com/observerly/iris/pkg/image/gray16.go:45.35,52.3 4 9
github.com/observerly/iris/pkg/image/gray16.go:55.2,55.17 1 1
github.com/observerly/iris/pkg/frames/bias.go:30.144,36.31 3 7
github.com/observerly/iris/pkg/frames/bias.go:36.31,38.3 1 15
github.com/observerly/iris/pkg/frames/bias.go:41.2,50.21 2 7
Expand Down Expand Up @@ -198,13 +205,6 @@ github.com/observerly/iris/pkg/frames/light.go:74.2,120.8 7 1
github.com/observerly/iris/pkg/frames/master.go:17.79,21.16 2 1
github.com/observerly/iris/pkg/frames/master.go:21.16,23.3 1 0
github.com/observerly/iris/pkg/frames/master.go:26.2,35.8 2 1
github.com/observerly/iris/pkg/image/gray16.go:24.88,26.28 1 1
github.com/observerly/iris/pkg/image/gray16.go:26.28,28.3 1 0
github.com/observerly/iris/pkg/image/gray16.go:31.2,40.12 5 1
github.com/observerly/iris/pkg/image/gray16.go:40.12,42.3 1 0
github.com/observerly/iris/pkg/image/gray16.go:45.2,45.35 1 1
github.com/observerly/iris/pkg/image/gray16.go:45.35,52.3 4 9
github.com/observerly/iris/pkg/image/gray16.go:55.2,55.17 1 1
github.com/observerly/iris/pkg/palette/palette.go:40.61,56.12 8 1
github.com/observerly/iris/pkg/palette/palette.go:56.12,63.17 5 1
github.com/observerly/iris/pkg/palette/palette.go:63.17,65.4 1 0
Expand Down Expand Up @@ -398,15 +398,15 @@ github.com/observerly/iris/pkg/statistics/stats.go:207.24,212.3 3 770008
github.com/observerly/iris/pkg/statistics/stats.go:216.2,218.11 2 5
github.com/observerly/iris/pkg/statistics/stats.go:234.100,240.24 3 3
github.com/observerly/iris/pkg/statistics/stats.go:240.24,242.7 2 769000
github.com/observerly/iris/pkg/statistics/stats.go:242.7,245.43 2 769099
github.com/observerly/iris/pkg/statistics/stats.go:242.7,245.43 2 769111
github.com/observerly/iris/pkg/statistics/stats.go:245.43,246.10 1 769000
github.com/observerly/iris/pkg/statistics/stats.go:250.3,250.16 1 769000
github.com/observerly/iris/pkg/statistics/stats.go:253.2,255.15 2 3
github.com/observerly/iris/pkg/statistics/stats.go:266.96,272.24 3 3
github.com/observerly/iris/pkg/statistics/stats.go:272.24,275.7 2 769000
github.com/observerly/iris/pkg/statistics/stats.go:275.7,279.43 3 769136
github.com/observerly/iris/pkg/statistics/stats.go:279.43,280.13 1 90
github.com/observerly/iris/pkg/statistics/stats.go:283.4,284.45 2 769046
github.com/observerly/iris/pkg/statistics/stats.go:275.7,279.43 3 769194
github.com/observerly/iris/pkg/statistics/stats.go:279.43,280.13 1 127
github.com/observerly/iris/pkg/statistics/stats.go:283.4,284.45 2 769067
github.com/observerly/iris/pkg/statistics/stats.go:284.45,285.10 1 769000
github.com/observerly/iris/pkg/statistics/stats.go:289.3,289.50 1 769000
github.com/observerly/iris/pkg/statistics/stats.go:294.2,296.11 2 3
Expand Down Expand Up @@ -576,18 +576,25 @@ github.com/observerly/iris/pkg/fits/header.go:530.18,532.3 1 0
github.com/observerly/iris/pkg/fits/header.go:534.2,534.23 1 85
github.com/observerly/iris/pkg/fits/header.go:534.23,536.3 1 8
github.com/observerly/iris/pkg/fits/header.go:538.2,538.59 1 85
github.com/observerly/iris/pkg/fits/header.go:544.73,545.18 1 13
github.com/observerly/iris/pkg/fits/header.go:545.18,547.3 1 0
github.com/observerly/iris/pkg/fits/header.go:549.2,549.23 1 13
github.com/observerly/iris/pkg/fits/header.go:549.23,551.3 1 2
github.com/observerly/iris/pkg/fits/header.go:553.2,553.59 1 13
github.com/observerly/iris/pkg/fits/header.go:557.33,560.2 2 11
github.com/observerly/iris/pkg/fits/header.go:563.46,600.2 22 1
github.com/observerly/iris/pkg/fits/header.go:605.92,612.37 3 0
github.com/observerly/iris/pkg/fits/header.go:612.37,615.22 2 0
github.com/observerly/iris/pkg/fits/header.go:615.22,617.4 1 0
github.com/observerly/iris/pkg/fits/header.go:620.3,623.29 2 0
github.com/observerly/iris/pkg/fits/header.go:626.2,626.18 1 0
github.com/observerly/iris/pkg/fits/header.go:544.73,546.18 1 17
github.com/observerly/iris/pkg/fits/header.go:546.18,548.3 1 0
github.com/observerly/iris/pkg/fits/header.go:548.8,548.25 1 17
github.com/observerly/iris/pkg/fits/header.go:548.25,550.3 1 14
github.com/observerly/iris/pkg/fits/header.go:553.2,553.23 1 17
github.com/observerly/iris/pkg/fits/header.go:553.23,555.3 1 2
github.com/observerly/iris/pkg/fits/header.go:555.8,555.30 1 15
github.com/observerly/iris/pkg/fits/header.go:555.30,557.3 1 14
github.com/observerly/iris/pkg/fits/header.go:559.2,566.61 3 17
github.com/observerly/iris/pkg/fits/header.go:566.61,569.3 1 4
github.com/observerly/iris/pkg/fits/header.go:569.8,572.3 1 13
github.com/observerly/iris/pkg/fits/header.go:575.2,575.66 1 17
github.com/observerly/iris/pkg/fits/header.go:581.33,584.2 2 11
github.com/observerly/iris/pkg/fits/header.go:587.46,624.2 22 1
github.com/observerly/iris/pkg/fits/header.go:629.92,636.37 3 0
github.com/observerly/iris/pkg/fits/header.go:636.37,639.22 2 0
github.com/observerly/iris/pkg/fits/header.go:639.22,641.4 1 0
github.com/observerly/iris/pkg/fits/header.go:644.3,647.29 2 0
github.com/observerly/iris/pkg/fits/header.go:650.2,650.18 1 0
github.com/observerly/iris/pkg/photometry/convolution.go:17.94,20.36 2 1
github.com/observerly/iris/pkg/photometry/convolution.go:20.36,21.37 1 400
github.com/observerly/iris/pkg/photometry/convolution.go:21.37,32.23 5 240000
Expand Down Expand Up @@ -631,86 +638,86 @@ github.com/observerly/iris/pkg/photometry/noise.go:79.45,81.6 1 4138
github.com/observerly/iris/pkg/photometry/noise.go:85.4,85.25 1 465
github.com/observerly/iris/pkg/photometry/noise.go:89.3,89.15 1 31
github.com/observerly/iris/pkg/photometry/noise.go:93.2,95.19 2 1
github.com/observerly/iris/pkg/photometry/stars.go:36.99,49.2 2 8
github.com/observerly/iris/pkg/photometry/stars.go:51.51,53.2 1 7
github.com/observerly/iris/pkg/photometry/stars.go:55.51,57.2 1 5
github.com/observerly/iris/pkg/photometry/stars.go:59.59,61.2 1 6
github.com/observerly/iris/pkg/photometry/stars.go:63.55,65.2 1 3
github.com/observerly/iris/pkg/photometry/stars.go:67.101,73.2 3 2
github.com/observerly/iris/pkg/photometry/stars.go:80.97,111.2 13 1
github.com/observerly/iris/pkg/photometry/stars.go:121.119,125.25 2 95855
github.com/observerly/iris/pkg/photometry/stars.go:125.25,129.39 2 862695
github.com/observerly/iris/pkg/photometry/stars.go:129.39,132.4 2 862223
github.com/observerly/iris/pkg/photometry/stars.go:135.2,137.23 2 95855
github.com/observerly/iris/pkg/photometry/stars.go:148.89,152.25 2 7
github.com/observerly/iris/pkg/photometry/stars.go:152.25,153.20 1 10253216
github.com/observerly/iris/pkg/photometry/stars.go:153.20,164.22 2 12528
github.com/observerly/iris/pkg/photometry/stars.go:164.22,168.83 2 12521
github.com/observerly/iris/pkg/photometry/stars.go:168.83,170.6 1 4229
github.com/observerly/iris/pkg/photometry/stars.go:174.4,174.29 1 12528
github.com/observerly/iris/pkg/photometry/stars.go:178.2,178.14 1 7
github.com/observerly/iris/pkg/photometry/stars.go:189.95,202.34 6 5
github.com/observerly/iris/pkg/photometry/stars.go:202.34,208.3 3 85435
github.com/observerly/iris/pkg/photometry/stars.go:210.2,217.29 4 5
github.com/observerly/iris/pkg/photometry/stars.go:217.29,223.44 3 10420
github.com/observerly/iris/pkg/photometry/stars.go:223.44,226.4 2 10174
github.com/observerly/iris/pkg/photometry/stars.go:229.2,229.31 1 5
github.com/observerly/iris/pkg/photometry/stars.go:232.85,249.26 8 6
github.com/observerly/iris/pkg/photometry/stars.go:249.26,254.38 2 8582
github.com/observerly/iris/pkg/photometry/stars.go:254.38,255.41 1 18284
github.com/observerly/iris/pkg/photometry/stars.go:255.41,256.13 1 1130
github.com/observerly/iris/pkg/photometry/stars.go:259.4,259.39 1 17154
github.com/observerly/iris/pkg/photometry/stars.go:259.39,260.42 1 44144
github.com/observerly/iris/pkg/photometry/stars.go:260.42,261.14 1 4636
github.com/observerly/iris/pkg/photometry/stars.go:265.5,268.53 2 39508
github.com/observerly/iris/pkg/photometry/stars.go:268.53,275.22 5 224935
github.com/observerly/iris/pkg/photometry/stars.go:275.22,276.27 1 7278
github.com/observerly/iris/pkg/photometry/stars.go:283.3,293.17 5 1304
github.com/observerly/iris/pkg/photometry/stars.go:293.17,295.4 1 180
github.com/observerly/iris/pkg/photometry/stars.go:295.9,296.24 1 1124
github.com/observerly/iris/pkg/photometry/stars.go:296.24,298.5 1 3966
github.com/observerly/iris/pkg/photometry/stars.go:300.4,300.38 1 1124
github.com/observerly/iris/pkg/photometry/stars.go:303.3,303.19 1 1304
github.com/observerly/iris/pkg/photometry/stars.go:306.2,309.31 3 6
github.com/observerly/iris/pkg/photometry/stars.go:319.106,321.26 1 3
github.com/observerly/iris/pkg/photometry/stars.go:321.26,324.71 2 665
github.com/observerly/iris/pkg/photometry/stars.go:324.71,330.39 3 1285
github.com/observerly/iris/pkg/photometry/stars.go:330.39,331.40 1 42405
github.com/observerly/iris/pkg/photometry/stars.go:331.40,336.46 3 1399365
github.com/observerly/iris/pkg/photometry/stars.go:336.46,338.20 2 1377090
github.com/observerly/iris/pkg/photometry/stars.go:338.20,340.8 1 1362841
github.com/observerly/iris/pkg/photometry/stars.go:343.6,345.19 3 1399365
github.com/observerly/iris/pkg/photometry/stars.go:350.4,353.19 3 1285
github.com/observerly/iris/pkg/photometry/stars.go:353.19,355.5 1 0
github.com/observerly/iris/pkg/photometry/stars.go:357.4,372.44 10 1285
github.com/observerly/iris/pkg/photometry/stars.go:372.44,374.5 1 1285
github.com/observerly/iris/pkg/photometry/stars.go:376.4,384.16 2 1285
github.com/observerly/iris/pkg/photometry/stars.go:388.2,388.14 1 3
github.com/observerly/iris/pkg/photometry/stars.go:398.143,403.26 3 2
github.com/observerly/iris/pkg/photometry/stars.go:403.26,411.32 4 417
github.com/observerly/iris/pkg/photometry/stars.go:411.32,412.33 1 13761
github.com/observerly/iris/pkg/photometry/stars.go:412.33,414.29 2 454113
github.com/observerly/iris/pkg/photometry/stars.go:414.29,415.14 1 121764
github.com/observerly/iris/pkg/photometry/stars.go:417.5,423.47 4 332349
github.com/observerly/iris/pkg/photometry/stars.go:423.47,425.15 2 329125
github.com/observerly/iris/pkg/photometry/stars.go:425.15,427.7 1 180226
github.com/observerly/iris/pkg/photometry/stars.go:429.5,431.13 3 332349
github.com/observerly/iris/pkg/photometry/stars.go:435.3,435.18 1 417
github.com/observerly/iris/pkg/photometry/stars.go:435.18,437.4 1 0
github.com/observerly/iris/pkg/photometry/stars.go:439.3,442.19 2 417
github.com/observerly/iris/pkg/photometry/stars.go:442.19,443.12 1 0
github.com/observerly/iris/pkg/photometry/stars.go:447.3,453.42 4 417
github.com/observerly/iris/pkg/photometry/stars.go:453.42,454.43 1 6815
github.com/observerly/iris/pkg/photometry/stars.go:454.43,457.29 2 116129
github.com/observerly/iris/pkg/photometry/stars.go:457.29,458.14 1 44028
github.com/observerly/iris/pkg/photometry/stars.go:461.5,465.47 3 72101
github.com/observerly/iris/pkg/photometry/stars.go:465.47,467.15 2 71847
github.com/observerly/iris/pkg/photometry/stars.go:467.15,469.7 1 54125
github.com/observerly/iris/pkg/photometry/stars.go:471.5,472.18 2 72101
github.com/observerly/iris/pkg/photometry/stars.go:477.3,481.81 3 417
github.com/observerly/iris/pkg/photometry/stars.go:481.81,482.12 1 79
github.com/observerly/iris/pkg/photometry/stars.go:486.3,495.25 5 338
github.com/observerly/iris/pkg/photometry/stars.go:499.2,501.39 2 2
github.com/observerly/iris/pkg/photometry/stars.go:54.99,67.2 2 8
github.com/observerly/iris/pkg/photometry/stars.go:71.51,73.2 1 7
github.com/observerly/iris/pkg/photometry/stars.go:77.51,79.2 1 5
github.com/observerly/iris/pkg/photometry/stars.go:83.59,85.2 1 6
github.com/observerly/iris/pkg/photometry/stars.go:89.55,91.2 1 3
github.com/observerly/iris/pkg/photometry/stars.go:95.101,101.2 3 2
github.com/observerly/iris/pkg/photometry/stars.go:106.97,137.2 13 1
github.com/observerly/iris/pkg/photometry/stars.go:143.119,147.25 2 95855
github.com/observerly/iris/pkg/photometry/stars.go:147.25,151.39 2 862695
github.com/observerly/iris/pkg/photometry/stars.go:151.39,154.4 2 862167
github.com/observerly/iris/pkg/photometry/stars.go:157.2,159.23 2 95855
github.com/observerly/iris/pkg/photometry/stars.go:166.89,170.25 2 7
github.com/observerly/iris/pkg/photometry/stars.go:170.25,171.20 1 10253216
github.com/observerly/iris/pkg/photometry/stars.go:171.20,182.22 2 12528
github.com/observerly/iris/pkg/photometry/stars.go:182.22,186.83 2 12521
github.com/observerly/iris/pkg/photometry/stars.go:186.83,188.6 1 4229
github.com/observerly/iris/pkg/photometry/stars.go:192.4,192.29 1 12528
github.com/observerly/iris/pkg/photometry/stars.go:196.2,196.14 1 7
github.com/observerly/iris/pkg/photometry/stars.go:203.95,216.34 6 5
github.com/observerly/iris/pkg/photometry/stars.go:216.34,222.3 3 85435
github.com/observerly/iris/pkg/photometry/stars.go:224.2,231.29 4 5
github.com/observerly/iris/pkg/photometry/stars.go:231.29,237.44 3 10420
github.com/observerly/iris/pkg/photometry/stars.go:237.44,240.4 2 10174
github.com/observerly/iris/pkg/photometry/stars.go:243.2,243.31 1 5
github.com/observerly/iris/pkg/photometry/stars.go:248.85,265.26 8 6
github.com/observerly/iris/pkg/photometry/stars.go:265.26,270.38 2 8582
github.com/observerly/iris/pkg/photometry/stars.go:270.38,271.41 1 18284
github.com/observerly/iris/pkg/photometry/stars.go:271.41,272.13 1 1130
github.com/observerly/iris/pkg/photometry/stars.go:275.4,275.39 1 17154
github.com/observerly/iris/pkg/photometry/stars.go:275.39,276.42 1 44144
github.com/observerly/iris/pkg/photometry/stars.go:276.42,277.14 1 4636
github.com/observerly/iris/pkg/photometry/stars.go:281.5,284.53 2 39508
github.com/observerly/iris/pkg/photometry/stars.go:284.53,291.22 5 224935
github.com/observerly/iris/pkg/photometry/stars.go:291.22,292.27 1 7278
github.com/observerly/iris/pkg/photometry/stars.go:299.3,309.17 5 1304
github.com/observerly/iris/pkg/photometry/stars.go:309.17,311.4 1 180
github.com/observerly/iris/pkg/photometry/stars.go:311.9,312.24 1 1124
github.com/observerly/iris/pkg/photometry/stars.go:312.24,314.5 1 3966
github.com/observerly/iris/pkg/photometry/stars.go:316.4,316.38 1 1124
github.com/observerly/iris/pkg/photometry/stars.go:319.3,319.19 1 1304
github.com/observerly/iris/pkg/photometry/stars.go:322.2,325.31 3 6
github.com/observerly/iris/pkg/photometry/stars.go:331.106,333.26 1 3
github.com/observerly/iris/pkg/photometry/stars.go:333.26,336.71 2 665
github.com/observerly/iris/pkg/photometry/stars.go:336.71,342.39 3 1285
github.com/observerly/iris/pkg/photometry/stars.go:342.39,343.40 1 42405
github.com/observerly/iris/pkg/photometry/stars.go:343.40,348.46 3 1399365
github.com/observerly/iris/pkg/photometry/stars.go:348.46,350.20 2 1377090
github.com/observerly/iris/pkg/photometry/stars.go:350.20,352.8 1 1362841
github.com/observerly/iris/pkg/photometry/stars.go:355.6,357.19 3 1399365
github.com/observerly/iris/pkg/photometry/stars.go:362.4,365.19 3 1285
github.com/observerly/iris/pkg/photometry/stars.go:365.19,367.5 1 0
github.com/observerly/iris/pkg/photometry/stars.go:369.4,384.44 10 1285
github.com/observerly/iris/pkg/photometry/stars.go:384.44,386.5 1 1285
github.com/observerly/iris/pkg/photometry/stars.go:388.4,396.16 2 1285
github.com/observerly/iris/pkg/photometry/stars.go:400.2,400.14 1 3
github.com/observerly/iris/pkg/photometry/stars.go:407.143,412.26 3 2
github.com/observerly/iris/pkg/photometry/stars.go:412.26,420.32 4 417
github.com/observerly/iris/pkg/photometry/stars.go:420.32,421.33 1 13761
github.com/observerly/iris/pkg/photometry/stars.go:421.33,423.29 2 454113
github.com/observerly/iris/pkg/photometry/stars.go:423.29,424.14 1 121764
github.com/observerly/iris/pkg/photometry/stars.go:426.5,432.47 4 332349
github.com/observerly/iris/pkg/photometry/stars.go:432.47,434.15 2 329125
github.com/observerly/iris/pkg/photometry/stars.go:434.15,436.7 1 180226
github.com/observerly/iris/pkg/photometry/stars.go:438.5,440.13 3 332349
github.com/observerly/iris/pkg/photometry/stars.go:444.3,444.18 1 417
github.com/observerly/iris/pkg/photometry/stars.go:444.18,446.4 1 0
github.com/observerly/iris/pkg/photometry/stars.go:448.3,451.19 2 417
github.com/observerly/iris/pkg/photometry/stars.go:451.19,452.12 1 0
github.com/observerly/iris/pkg/photometry/stars.go:456.3,462.42 4 417
github.com/observerly/iris/pkg/photometry/stars.go:462.42,463.43 1 6815
github.com/observerly/iris/pkg/photometry/stars.go:463.43,466.29 2 116129
github.com/observerly/iris/pkg/photometry/stars.go:466.29,467.14 1 44028
github.com/observerly/iris/pkg/photometry/stars.go:470.5,474.47 3 72101
github.com/observerly/iris/pkg/photometry/stars.go:474.47,476.15 2 71847
github.com/observerly/iris/pkg/photometry/stars.go:476.15,478.7 1 54125
github.com/observerly/iris/pkg/photometry/stars.go:480.5,481.18 2 72101
github.com/observerly/iris/pkg/photometry/stars.go:486.3,490.81 3 417
github.com/observerly/iris/pkg/photometry/stars.go:490.81,491.12 1 79
github.com/observerly/iris/pkg/photometry/stars.go:495.3,504.25 5 338
github.com/observerly/iris/pkg/photometry/stars.go:508.2,510.39 2 2
github.com/observerly/iris/pkg/iris/monochrome.go:43.95,61.2 4 13
github.com/observerly/iris/pkg/iris/monochrome.go:65.79,70.16 3 13
github.com/observerly/iris/pkg/iris/monochrome.go:70.16,72.3 1 0
Expand Down
34 changes: 30 additions & 4 deletions pkg/fits/header.go
Original file line number Diff line number Diff line change
Expand Up @@ -540,25 +540,51 @@ func writeInt(w io.Writer, key string, value int32, comment string) {

/*****************************************************************************************************************/

// Writes a FITS header float value
// Writes a FITS header float value to the FITS header with upper-case exponent
func writeFloat(w io.Writer, key string, value float32, comment string) {
// Ensure the key is exactly 8 characters long:
if len(key) > 8 {
key = key[0:8]
key = key[:8]
} else if len(key) < 8 {
key = fmt.Sprintf("%-8s", key)
}

// Ensure the comment is exactly 47 characters long:
if len(comment) > 47 {
comment = comment[0:47]
comment = comment[:47]
} else if len(comment) < 47 {
comment = fmt.Sprintf("%-47s", comment)
}

absValue := math.Abs(float64(value))
var formattedValue string

// Format the float with upper-case 'E' and 6 decimal places
// The total width for the value field is 20 characters
// Example: " 2.460641E+06"
// Determine if the value requires scientific notation
if absValue >= 1e+04 || (absValue > 0 && absValue < 1e-04) {
// Use scientific notation with upper-case 'E' and 6 decimal places
formattedValue = fmt.Sprintf("%20.6E", value)
} else {
// Use standard decimal notation with 6 decimal places
formattedValue = fmt.Sprintf("%20.6f", value)
}

fmt.Fprintf(w, "%-8s= %20g / %-47s", key, value, comment)
// Write the formatted header line
fmt.Fprintf(w, "%-8s= %s / %-47s", key, formattedValue, comment)
}

/*****************************************************************************************************************/

// Writes a FITS header end record
func writeEnd(w io.Writer) bool {
n, _ := fmt.Fprintf(w, "END%s", strings.Repeat(" ", 80-3))
return n > 0
}

/*****************************************************************************************************************/

// Build regexp parser for FITS header lines
func compileFITSHeaderRegEx() *regexp.Regexp {
white := "\\s+"
Expand Down
Loading