print(
                        f"No preselfcal file called {preselfcal_name} found, using alternatives"
                    )
                    # try alternate naming scheme
                    preselfcal_name = postselfcal_name.replace(
                        f"_selfcal{last_selfcal}", "")
                    if "_finaliter" in preselfcal_name:
                        preselfcal_name = preselfcal_name.replace(
                            "_finaliter", "")
                if "_selfcal" in preselfcal_name:
                    raise ValueError("?!?!?!")

                try:
                    with warnings.catch_warnings():
                        warnings.filterwarnings('ignore')
                        ax1, ax2, ax3, fig, diffstats = make_comparison_image(
                            preselfcal_name, postselfcal_name)
                    if not os.path.exists(f"{field}/B{band}/comparisons/"):
                        os.mkdir(f"{field}/B{band}/comparisons/")
                    pl.savefig(
                        f"{field}/B{band}/comparisons/{field}_B{band}_{config}_selfcal{last_selfcal}_comparison.png",
                        bbox_inches='tight')
                except IndexError:
                    raise
                except Exception as ex:
                    log.error(
                        f"Failure for pre={preselfcal_name} post={postselfcal_name}"
                    )
                    log.error((field, band, config, ex))
                    continue

                matchrow = ((tbl['region'] == field) &
            prefns = [
                x for x in glob.glob(
                    f"{basepath}/{field}*_B{band}_*_{imtype}_*preselfcal*.image.tt0"
                ) if 'robust0_' in x
            ]
            postfns = [fn.replace("pre", "post") for fn in prefns]

            config = '7M12M' if '7m' in imtype else '12M'

            for pre, post in zip(prefns, postfns):
                print(pre, post)

                try:
                    with warnings.catch_warnings():
                        warnings.filterwarnings('ignore')
                        ax1, ax2, ax3, fig, diffstats = make_comparison_image(
                            pre, post)
                    pl.savefig(
                        f"{prepostpath}/{field}_B{band}_{config}_post-pre_dirty_comparison.png",
                        bbox_inches='tight')
                except IndexError:
                    raise
                except Exception as ex:
                    log.error(f"Failure for pre={pre} post={post}")
                    log.error((field, band, config, imtype, ex))
                    continue

                allstats.append(diffstats)

                matchrow = (
                    (tbl['region'] == field) & (tbl['band'] == f'B{band}') &
                    (tbl['array']