Compute solid angle within the mask annulus (deg^2) as a
        function of color and magnitude.

def _solidAngleCMD(self):
        """
        Compute solid angle within the mask annulus (deg^2) as a
        function of color and magnitude.
        """

        self.solid_angle_cmd = np.zeros([len(self.roi.centers_mag),
                                            len(self.roi.centers_color)])

        for index_mag in np.arange(len(self.roi.centers_mag)):
            for index_color in np.arange(len(self.roi.centers_color)):
                # mag and color at bin center
                mag = self.roi.centers_mag[index_mag]
                color = self.roi.centers_color[index_color]

                if self.config.params['catalog']['band_1_detection']:
                    # Evaluating at the center of the color-mag bin, be consistent!
                    #mag_1 = self.roi.centers_mag[index_mag]
                    #color = self.roi.centers_color[index_color]
                    #mag_2 = mag_1 - color
                    # Evaluating at corner of the color-mag bin, be consistent!
                    mag_1 = mag + (0.5 * self.roi.delta_mag)
                    mag_2 = mag - color + (0.5 * self.roi.delta_color)
                else:
                    # Evaluating at the center of the color-mag bin, be consistent!
                    #mag_2 = self.roi.centers_mag[index_mag]
                    #color = self.roi.centers_color[index_color]
                    #mag_1 = mag_2 + color
                    # Evaluating at corner of the color-mag bin, be consistent!
                    mag_1 = mag + color + (0.5 * self.roi.delta_color)
                    mag_2 = mag + (0.5 * self.roi.delta_mag)

                # ADW: Is there a problem here?
                #self.solid_angle_cmd[index_mag, index_color] = self.roi.area_pixel * np.sum((self.mask_1.mask > mag_1) * (self.mask_2.mask > mag_2))

                # ADW: I think we want to keep pixels that are >= mag
                unmasked_mag_1 = (self.mask_1.mask_annulus_sparse >= mag_1)
                unmasked_mag_2 = (self.mask_2.mask_annulus_sparse >= mag_2)
                n_unmasked_pixels = np.sum(unmasked_mag_1*unmasked_mag_2*self.frac_annulus_sparse)

                #n_unmasked_pixels = np.sum((self.mask_1.mask_annulus_sparse > mag_1) \
                #                               * (self.mask_2.mask_annulus_sparse > mag_2))

                self.solid_angle_cmd[index_mag, index_color] = self.roi.area_pixel * n_unmasked_pixels
        if self.solid_angle_cmd.sum() == 0:
            msg = "Mask annulus contains no solid angle."
            logger.error(msg)
            raise Exception(msg)

        return self.solid_angle_cmd