Beispiel #1
0
            private void AddMetadataToFrame(RawFrameInfo info, BasicHDU hdu)
            {
                if (info == null)
                    info = new RawFrameInfo() {ColourSpace = _colourSpaceId};

                if (info.ExposureMs.HasValue)
                    hdu.AddValue("EXPTIME", info.ExposureMs.Value/1000, "");

                if (info.PixelSize.HasValue)
                {
                    hdu.AddValue("XPIXSZ", info.PixelSize.Value, "");
                    hdu.AddValue("YPIXSZ", info.PixelSize.Value, "");
                }

                if (info.Binning > 0)
                {
                    hdu.AddValue("XBINNING", info.Binning, "");
                    hdu.AddValue("YBINNING", info.Binning, "");
                }

                if (info.SensorTemp.HasValue)
                {
                    hdu.AddValue("CCD-TEMP", info.SensorTemp.Value, "");
                }

                switch (info.ColourSpace)
                {
                    case ColourSpaceId.Mono:
                        break;
                    case ColourSpaceId.RGB:
                        hdu.AddValue("COLORTYP", "RGB", "");
                        break;
                    case ColourSpaceId.Bayer_RGGB:
                        hdu.AddValue("COLORTYP", "RGGB", "");
                        break;
                    case ColourSpaceId.Bayer_GRBG:
                        hdu.AddValue("COLORTYP", "GRBG", "");
                        break;
                    case ColourSpaceId.Bayer_GBRG:
                        hdu.AddValue("COLORTYP", "GBRG", "");
                        break;
                    case ColourSpaceId.Bayer_BGGR:
                        hdu.AddValue("COLORTYP", "BGGR", "");
                        break;
                    case ColourSpaceId.Bayer_CYYM:
                        hdu.AddValue("COLORTYP", "CYYM", "");
                        break;
                    case ColourSpaceId.Bayer_YMCY:
                        hdu.AddValue("COLORTYP", "YMCY", "");
                        break;
                    case ColourSpaceId.Bayer_MYYC:
                        hdu.AddValue("COLORTYP", "MYYC", "");
                        break;
                    case ColourSpaceId.Bayer_Unknown:
                        break;
                }

                hdu.AddValue("SWCREATE", "SharpCap", "");
                hdu.AddValue("DATE-OBS", DateTime.UtcNow.ToString("s"), "");

                if (!string.IsNullOrEmpty(info.CameraName))
                    hdu.AddValue("INSTRUME", info.CameraName, "");
            }