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));
            }
        }