private int FilterBounds() { if (Verbose) { Console.WriteLine(); Console.WriteLine("Calculating intersection of regions"); } var bounds1 = SourceMatchLists.GetBounds(Filtered); var bounds2 = SourceMatchLists.GetBounds(Spitzer); var minRa = Angle.FromRadians( Max(bounds1.minRa.Radians, bounds2.minRa.Radians)); var maxRa = Angle.FromRadians( Min(bounds1.maxRa.Radians, bounds2.maxRa.Radians)); var minDec = Angle.FromRadians( Max(bounds1.minDec.Radians, bounds2.minDec.Radians)); var maxDec = Angle.FromRadians( Min(bounds1.maxDec.Radians, bounds2.maxDec.Radians)); if (Verbose) { Console.WriteLine("Min RA={0}", minRa); Console.WriteLine("Max RA={0}", maxRa); Console.WriteLine("Min Dec={0}", minDec); Console.WriteLine("Max Dec={0}", maxDec); Console.WriteLine(); Console.WriteLine( "Filtering source lists to bounded region."); } Filtered = Filtered.Filter(InBounds); Unfiltered = Unfiltered.Filter(InBounds); Spitzer = Spitzer.Filter(InBounds); return(Status); bool InBounds(ISource source) { return (source.RA >= minRa && source.RA <= maxRa && source.Dec >= minDec && source.Dec <= maxDec); } }
private int FilterSpitzerMag() { if (Verbose) { Console.WriteLine(); Console.WriteLine("Setting spitzer source cutoff to mag <= 19"); } Spitzer = Spitzer.Filter(IsInMag); if (Verbose) { Console.Write("Spitzer reduced to {0} sources.", Spitzer.Count); } return(Status); bool IsInMag(ISource source) { var magSource = source as IMagSource; return(magSource.Magnitude1 <= (19 + 0.125)); } }