Example #1
0
    def _predict_base(self,
                      context='2d',
                      extra='',
                      fluxthreshold=1.0,
                      facets=1,
                      vis_slices=1,
                      gcfcf=None,
                      **kwargs):

        centre = self.freqwin // 2
        vis_list = zero_list_serial_workflow(self.vis_list)
        vis_list = predict_list_serial_workflow(vis_list,
                                                self.model_list,
                                                context=context,
                                                vis_slices=vis_slices,
                                                facets=facets,
                                                gcfcf=gcfcf,
                                                **kwargs)
        vis_list = subtract_list_serial_workflow(self.vis_list, vis_list)

        dirty = invert_list_serial_workflow(vis_list,
                                            self.model_list,
                                            context='2d',
                                            dopsf=False,
                                            gcfcf=gcfcf,
                                            normalize=True)[centre]

        assert numpy.max(numpy.abs(dirty[0].data)), "Residual image is empty"
        export_image_to_fits(
            dirty[0], '%s/test_imaging_predict_%s%s_serial_dirty.fits' %
            (self.dir, context, extra))

        maxabs = numpy.max(numpy.abs(dirty[0].data))
        assert maxabs < fluxthreshold, "Error %.3f greater than fluxthreshold %.3f " % (
            maxabs, fluxthreshold)
Example #2
0
    def test_zero_list(self):
        self.actualSetUp()

        centre = self.freqwin // 2
        vis_list = zero_list_serial_workflow(self.vis_list)

        assert numpy.max(numpy.abs(vis_list[centre].vis)) < 1e-15, numpy.max(
            numpy.abs(vis_list[centre].vis))

        predicted_vis_list = [
            predict_skycomponent_visibility(vis_list[freqwin],
                                            self.components_list[freqwin])
            for freqwin, _ in enumerate(self.frequency)
        ]
        assert numpy.max(numpy.abs(predicted_vis_list[centre].vis)) > 0.0, \
            numpy.max(numpy.abs(predicted_vis_list[centre].vis))

        diff_vis_list = subtract_list_serial_workflow(self.vis_list,
                                                      predicted_vis_list)

        assert numpy.max(numpy.abs(
            diff_vis_list[centre].vis)) < 1e-15, numpy.max(
                numpy.abs(diff_vis_list[centre].vis))