code: def _generate_report(self):
          
          from niworkflows.viz.utils import plot_registration
          NIWORKFLOWS_LOG.info('Generating visual report')
  
          anat = load_img(self._anat_file)
          contour_nii = load_img(self._contour) if self._contour is not None else None
  
          if self._mask_file:
              anat = unmask(apply_mask(anat, self._mask_file), self._mask_file)
              mask_nii = load_img(self._mask_file)
          else:
              mask_nii = threshold_img(anat, 1e-3)
  
          n_cuts = 7
          if not self._mask_file and contour_nii:
              cuts = cuts_from_bbox(contour_nii, cuts=n_cuts)
          else:
              cuts = cuts_from_bbox(mask_nii, cuts=n_cuts)
  
          # Call composer
          compose_view(
              plot_registration(anat, 'fixed-image',
                                estimate_brightness=True,
                                cuts=cuts,
                                contour=contour_nii,
                                compress=self.inputs.compress_report),
              [],
              out_file=self._out_report
          )
docs: Generates the visual report