Create a grid which encompasses the source region if (source region half-width < 2 arcmins) { grid_element_Width = 10 } else { grid_element_Width = 20 } area=0 Loop over each grid element { if (element lies within a CCD) { area = area + grid_element_Width * grid_element_Width } } Loop over each bad pixel { if (bad pixel lies within source region) { area = area - bad_pixel_area_in_detector_pixels } }