public static double ConvertMagnitude(double measuredMag, double vrColorIndex, Guid catalogMagBand, MagOutputBand magOutputBand) { if (catalogMagBand == PPMXLEntry.BAND_ID_R && magOutputBand == MagOutputBand.CousinsR) return measuredMag; if (catalogMagBand == PPMXLEntry.BAND_ID_R && magOutputBand == MagOutputBand.JohnsonV) return ColourIndexTables.GetVFromRAndVR(measuredMag, vrColorIndex); if (catalogMagBand == PPMXLEntry.BAND_ID_B && magOutputBand == MagOutputBand.CousinsR) return ColourIndexTables.GetRFromBAndVR(measuredMag, vrColorIndex); if (catalogMagBand == PPMXLEntry.BAND_ID_B && magOutputBand == MagOutputBand.JohnsonV) return ColourIndexTables.GetVFromBAndVR(measuredMag, vrColorIndex); return double.NaN; }
public static double ConvertMagnitude(double measuredMag, double vrColorIndex, Guid catalogMagBand, MagOutputBand magOutputBand) { if (catalogMagBand == UCAC3Entry.BAND_ID_R && magOutputBand == MagOutputBand.CousinsR) return measuredMag; if (catalogMagBand == UCAC3Entry.BAND_ID_R && magOutputBand == MagOutputBand.JohnsonV) return ColourIndexTables.GetVFromRAndVR(measuredMag, vrColorIndex); if (catalogMagBand == UCAC3Entry.BAND_ID_V && magOutputBand == MagOutputBand.CousinsR) return ColourIndexTables.GetRFromVAndVR(measuredMag, vrColorIndex); if (catalogMagBand == UCAC3Entry.BAND_ID_V && magOutputBand == MagOutputBand.JohnsonV) return measuredMag; if (catalogMagBand == UCAC3Entry.BAND_ID_UNFILTERED) { double jk = ColourIndexTables.GetJKFromVR(vrColorIndex); if (magOutputBand == MagOutputBand.CousinsR) return -0.295 * jk + 1.323 * measuredMag - 0.0377 * measuredMag * measuredMag + 0.001142 * measuredMag * measuredMag * measuredMag - 0.68; if (magOutputBand == MagOutputBand.JohnsonV) return 0.552 * jk + 1.578 * measuredMag - 0.0560 * measuredMag * measuredMag + 0.001562 * measuredMag * measuredMag * measuredMag - 1.76; } return double.NaN; }
public static double ConvertMagnitude(double measuredMag, double vrColorIndex, Guid catalogMagBand, MagOutputBand magOutputBand) { if (catalogMagBand == UCAC4Entry.BAND_ID_R && magOutputBand == MagOutputBand.CousinsR) return measuredMag; if (catalogMagBand == UCAC4Entry.BAND_ID_R && magOutputBand == MagOutputBand.JohnsonV) return ColourIndexTables.GetVFromRAndVR(measuredMag, vrColorIndex); if (catalogMagBand == UCAC4Entry.BAND_ID_V && magOutputBand == MagOutputBand.CousinsR) return ColourIndexTables.GetRFromVAndVR(measuredMag, vrColorIndex); if (catalogMagBand == UCAC4Entry.BAND_ID_V && magOutputBand == MagOutputBand.JohnsonV) return measuredMag; // V = r + 0.44 * (g - r) - 0.02 // B = V + 1.04 * (g - r) + 0.19 // R = V - 0.508 * (B - V) - 0.040 (0.3 < B - V < 0.9) // V - R = 0.508 * (B - V) + 0.040 // B = V + ((V - R) - 0.040) / 0.508 = V + 1.04 * (g - r) + 0.19 => 1.04 * (g - r) = ((V - R) - 0.040) / 0.508 - 0.19 => (g - r) = (((V - R) - 0.040) / 0.508 - 0.19) / 1.04 double grColorIndex = (((vrColorIndex) - 0.040) / 0.508 - 0.19) / 1.04; // R = r + 0.44 * (g - r) - 0.02 - 0.508 * (1.04 * (g - r) + 0.19) - 0.040 = r + (0.44 - 0.508 * 1.04)*(g-r) + (-0.060 - 0.19 * 0.508) if (catalogMagBand == UCAC4Entry.BAND_ID_SLOAN_r && magOutputBand == MagOutputBand.CousinsR) return measuredMag + (0.44 - 0.508 * 1.04) * grColorIndex + (-0.060 - 0.19 * 0.508); // V = r + 0.44 * (g - r) - 0.02 if (catalogMagBand == UCAC4Entry.BAND_ID_SLOAN_r && magOutputBand == MagOutputBand.JohnsonV) return measuredMag + 0.44 * grColorIndex - 0.02; if (catalogMagBand == UCAC4Entry.BAND_ID_SLOAN_g && magOutputBand == MagOutputBand.CousinsR) throw new NotImplementedException(); // V = r + 0.44 * (g - r) - 0.02 = 0.44 * g + 0.56 * r - 0.02 // B = V + 1.04 * g - 1.04 * r + 0.19 | *0.56 / 1.04 => 0.56 * (B - V) / 1.04 = 0.56 * g - 0.56 * r + 0.56 * 0.19 / 1.04 // (1.04 * V + 0.56 * B - 0.56 * V) / 1.04 = g + 0.56 * 0.16/1.04 - 0.02 => 0.48 * V + 0.56 * B = 1.04 * g + 0.0688 => V = 2.17 * g - 1.17 * B + 0.14 if (catalogMagBand == UCAC4Entry.BAND_ID_SLOAN_g && magOutputBand == MagOutputBand.JohnsonV) throw new NotImplementedException(); if (catalogMagBand == UCAC4Entry.BAND_ID_UNFILTERED) { throw new NotImplementedException("Need to determine the formulas for converting from fitMag to V and R from LONEOS?"); //double jk = ColourIndexTables.GetJKFromVR(vrColorIndex); //if (magOutputBand == MagOutputBand.CousinsR) return -0.295 * jk + 1.323 * measuredMag - 0.0377 * measuredMag * measuredMag + 0.001142 * measuredMag * measuredMag * measuredMag - 0.68; //if (magOutputBand == MagOutputBand.JohnsonV) return 0.552 * jk + 1.578 * measuredMag - 0.0560 * measuredMag * measuredMag + 0.001562 * measuredMag * measuredMag * measuredMag - 1.76; } return double.NaN; }
public double ConvertMagnitude(double measuredMag, double vrColorIndex, Guid catalogMagBand, MagOutputBand magOutputBand) { if (m_StarCatalog == StarCatalog.UCAC2) { return UCAC2Catalogue.ConvertMagnitude(measuredMag, vrColorIndex, catalogMagBand, magOutputBand); } else if (m_StarCatalog == StarCatalog.UCAC3) { return UCAC3Catalogue.ConvertMagnitude(measuredMag, vrColorIndex, catalogMagBand, magOutputBand); } else if (m_StarCatalog == StarCatalog.NOMAD) { return NOMADCatalogue.ConvertMagnitude(measuredMag, vrColorIndex, catalogMagBand, magOutputBand); } else if (m_StarCatalog == StarCatalog.PPMXL) { return PPMXLCatalogue.ConvertMagnitude(measuredMag, vrColorIndex, catalogMagBand, magOutputBand); } else if (m_StarCatalog == StarCatalog.UCAC4) { return UCAC4Catalogue.ConvertMagnitude(measuredMag, vrColorIndex, catalogMagBand, magOutputBand); } return double.NaN; }
public static double ConvertMagnitude(double measuredMag, double vrColorIndex, Guid catalogMagBand, MagOutputBand magOutputBand) { if (catalogMagBand == UCAC2Entry.BAND_ID_R && magOutputBand == MagOutputBand.CousinsR) return measuredMag; if (catalogMagBand == UCAC2Entry.BAND_ID_R && magOutputBand == MagOutputBand.JohnsonV) return ColourIndexTables.GetVFromRAndVR(measuredMag, vrColorIndex); if (catalogMagBand == UCAC2Entry.BAND_ID_V && magOutputBand == MagOutputBand.CousinsR) return ColourIndexTables.GetRFromVAndVR(measuredMag, vrColorIndex); if (catalogMagBand == UCAC2Entry.BAND_ID_V && magOutputBand == MagOutputBand.JohnsonV) return measuredMag; if (catalogMagBand == UCAC2Entry.BAND_ID_UNFILTERED) { double jk = ColourIndexTables.GetJKFromVR(vrColorIndex); if (magOutputBand == MagOutputBand.CousinsR) return jk * -0.262157262293991 + measuredMag * 0.972995989114809 + measuredMag * measuredMag * 0.0294054519219995 + measuredMag * measuredMag * measuredMag * -0.00152172319138341 + -1.27151807006964; if (magOutputBand == MagOutputBand.JohnsonV) return jk*0.482510826567376 + measuredMag*0.69853741307966 + measuredMag*measuredMag*0.053709249992501 + measuredMag*measuredMag*measuredMag*-0.00221766445441987 + -0.186573576388743; } return double.NaN; }