Пример #1
0
 public List <IStar> GetStarsInRegion(double raDeg, double deDeg, double diameterDeg, double limitMag, float epoch)
 {
     if (m_Settings.Catalog == TangraConfig.StarCatalog.UCAC2)
     {
         UCAC2Catalogue cat        = new UCAC2Catalogue(m_Settings.CatalogLocation);
         List <IStar>   ucac2Stars = cat.GetStarsInRegion(raDeg, deDeg, diameterDeg, limitMag, epoch);
         return((List <IStar>)ucac2Stars);
     }
     else if (m_Settings.Catalog == TangraConfig.StarCatalog.UCAC3)
     {
         UCAC3Catalogue cat        = new UCAC3Catalogue(m_Settings.CatalogLocation);
         List <IStar>   ucac3Stars = cat.GetStarsInRegion(raDeg, deDeg, diameterDeg, limitMag, epoch);
         return((List <IStar>)ucac3Stars);
     }
     else if (m_Settings.Catalog == TangraConfig.StarCatalog.NOMAD)
     {
         NOMADCatalogue cat        = new NOMADCatalogue(m_Settings.CatalogLocation);
         List <IStar>   nomadStars = cat.GetStarsInRegion(raDeg, deDeg, diameterDeg, limitMag, epoch);
         return((List <IStar>)nomadStars);
     }
     else if (m_Settings.Catalog == TangraConfig.StarCatalog.PPMXL)
     {
         PPMXLCatalogue cat        = new PPMXLCatalogue(m_Settings.CatalogLocation);
         List <IStar>   ppmxlStars = cat.GetStarsInRegion(raDeg, deDeg, diameterDeg, limitMag, epoch);
         return((List <IStar>)ppmxlStars);
     }
     else if (m_Settings.Catalog == TangraConfig.StarCatalog.UCAC4)
     {
         UCAC4Catalogue cat        = new UCAC4Catalogue(m_Settings.CatalogLocation);
         List <IStar>   ucac4Stars = cat.GetStarsInRegion(raDeg, deDeg, diameterDeg, limitMag, epoch);
         return((List <IStar>)ucac4Stars);
     }
     return(null);
 }
Пример #2
0
        public static bool IsValidCatalogLocation(TangraConfig.StarCatalog catalog, ref string folderPath)
        {
            if (catalog == TangraConfig.StarCatalog.UCAC2)
            {
                return(UCAC2Catalogue.IsValidCatalogLocation(ref folderPath));
            }
            else if (catalog == TangraConfig.StarCatalog.NOMAD)
            {
                return(NOMADCatalogue.IsValidCatalogLocation(ref folderPath));
            }
            else if (catalog == TangraConfig.StarCatalog.UCAC3)
            {
                return(UCAC3Catalogue.IsValidCatalogLocation(ref folderPath));
            }
            else if (catalog == TangraConfig.StarCatalog.PPMXL)
            {
                return(PPMXLCatalogue.IsValidCatalogLocation(ref folderPath));
            }
            else if (catalog == TangraConfig.StarCatalog.UCAC4)
            {
                return(UCAC4Catalogue.IsValidCatalogLocation(ref folderPath));
            }

            return(false);
        }
Пример #3
0
        public double ConvertMagnitude(double measuredMag, double vrColorIndex, Guid catalogMagBand, TangraConfig.MagOutputBand magOutputBand)
        {
            if (m_Settings.Catalog == TangraConfig.StarCatalog.UCAC2)
            {
                return(UCAC2Catalogue.ConvertMagnitude(measuredMag, vrColorIndex, catalogMagBand, magOutputBand));
            }
            else if (m_Settings.Catalog == TangraConfig.StarCatalog.UCAC3)
            {
                return(UCAC3Catalogue.ConvertMagnitude(measuredMag, vrColorIndex, catalogMagBand, magOutputBand));
            }
            else if (m_Settings.Catalog == TangraConfig.StarCatalog.NOMAD)
            {
                return(NOMADCatalogue.ConvertMagnitude(measuredMag, vrColorIndex, catalogMagBand, magOutputBand));
            }
            else if (m_Settings.Catalog == TangraConfig.StarCatalog.PPMXL)
            {
                return(PPMXLCatalogue.ConvertMagnitude(measuredMag, vrColorIndex, catalogMagBand, magOutputBand));
            }
            else if (m_Settings.Catalog == TangraConfig.StarCatalog.UCAC4)
            {
                return(UCAC4Catalogue.ConvertMagnitude(measuredMag, vrColorIndex, catalogMagBand, magOutputBand));
            }

            return(double.NaN);
        }
Пример #4
0
        private void miCalculateCalSpecMagnitudes_Click(object sender, EventArgs e)
        {
            var ucac4 = new UCAC4Catalogue(@"D:\Hristo\UCAC4\u4b");

            foreach (CalSpecStar star in CalSpecDatabase.Instance.Stars)
            {
                var starsInRegion = ucac4.GetStarsInRegion(star.RA_J2000_Hours * 15, star.DE_J2000_Deg, 0.5, 20, 2000);
                var ucac4Star     = starsInRegion.FirstOrDefault(x => x.GetStarDesignation(0).Replace("-0", "-") == star.U4) as UCAC4Entry;
                if (ucac4Star != null)
                {
                    if (!double.IsNaN(ucac4Star.MagV))
                    {
                        star.MagV = ucac4Star.MagV;
                        if (!double.IsNaN(ucac4Star.MagB))
                        {
                            star.MagBV = star.MagB - star.MagV;
                        }
                    }

                    if (!double.IsNaN(ucac4Star.MagB))
                    {
                        star.MagB = ucac4Star.MagB;
                    }
                    else
                    {
                        star.MagB = star.MagBV + star.MagV;
                    }

                    star.MagR  = ucac4Star.MagR;
                    star.Mag_g = ucac4Star.Mag_g;
                    star.Mag_r = ucac4Star.Mag_r;
                    star.Mag_i = ucac4Star.Mag_i;
                }

                Trace.WriteLine(string.Format("{0}: {1} {2} {3} {4} {5} {6}", star.CalSpecStarId,
                                              star.MagB.ToString("0.000"), star.MagV.ToString("0.000"), star.MagR.ToString("0.000"),
                                              star.Mag_g.ToString("0.000"), star.Mag_r.ToString("0.000"), star.Mag_i.ToString("0.000")));
            }

            using (var compressedStream = new FileStream(@"D:\Hristo\Tangra3\Tangra 3\VideoOperations\Spectroscopy\AbsFluxCalibration\Standards\CalSpec_wMags.db", FileMode.CreateNew, FileAccess.Write))
                using (var deflateStream = new DeflateStream(compressedStream, CompressionMode.Compress, true))
                {
                    using (var writer = new BinaryWriter(deflateStream))
                    {
                        CalSpecDatabase.Instance.Serialize(writer);
                    }
                }
        }
Пример #5
0
        public static bool VerifyCurrentCatalogue(TangraConfig.StarCatalog catalog, ref string path)
        {
            if (catalog == TangraConfig.StarCatalog.UCAC2)
            {
                if (!UCAC2Catalogue.IsValidCatalogLocation(ref path))
                {
                    return(false);
                }

                if (!UCAC2Catalogue.CheckAndWarnIfNoBSS(path, null))
                {
                    return(false);
                }
            }
            else if (catalog == TangraConfig.StarCatalog.NOMAD)
            {
                if (!NOMADCatalogue.IsValidCatalogLocation(ref path))
                {
                    return(false);
                }

                // TODO: Check index files??
            }
            else if (catalog == TangraConfig.StarCatalog.UCAC3)
            {
                if (!UCAC3Catalogue.IsValidCatalogLocation(ref path))
                {
                    return(false);
                }
            }
            else if (catalog == TangraConfig.StarCatalog.PPMXL)
            {
                if (!PPMXLCatalogue.IsValidCatalogLocation(ref path))
                {
                    return(false);
                }
            }
            else if (catalog == TangraConfig.StarCatalog.UCAC4)
            {
                if (!UCAC4Catalogue.IsValidCatalogLocation(ref path))
                {
                    return(false);
                }
            }

            return(true);
        }