Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mismatched dimensions #49

Closed
jrcallingham opened this issue Aug 28, 2018 · 2 comments
Closed

Mismatched dimensions #49

jrcallingham opened this issue Aug 28, 2018 · 2 comments

Comments

@jrcallingham
Copy link

Hi,

I am attempting to make some models for the international baselines of LOFAR using the EHT imager but I have stumbled on an error with the imaging function I do not quite understand.

This is how I call it:

eh.imager_func( obs, gaussprior, gaussprior, zbl, d1='cphase', d2='camp', s1='gs', s2='gs', alpha_d1=50, alpha_d2=50, clipfloor=0.001, maxit=300, stop=0.0001 )

Obs is generated from a measurement set (which was turned into uvfits).

Sorry if this is obscure but it looks like a dimensional issue. Let me know if you need extra information. Hopefully this is a simple issue and a mistake on my behalf.

Thanks!

Joe


Getting bispectra:: type vis, count min, scan 3370/3370 

/home/callingham/.local/lib/python2.7/site-packages/ehtim/imaging/imager_utils.py:2251: RuntimeWarning: invalid value encountered in greater
  snrmask = np.abs(clphasearr['cphase']/clphasearr['sigmacp']) > snrcut
Traceback (most recent call last):
  File "eht_imaging_joe.py", line 371, in <module>
    main( args.vis, closure_tels = args.ctels, npix = args.npix, fov_arcsec = args.fov, maxarcmin = args.maxarcmin, zbl = args.zbl, prior_fwhm_arcsec = args.prior_fwhm, doplots = args.doplots, imfile = args.imfile, remove_tels = args.rtels, niter=args.maxiter, cfloor=args.clipfloor, conv_criteria=args.convg, use_bs=args.use_bs, scratch_model=args.scratch_model, do_diagnostic_plots=args.diagplots, lotss_file=args.lotss_file )
  File "eht_imaging_joe.py", line 320, in main
    out = eh.imager_func( obs, gaussprior, gaussprior, zbl, d1='cphase', d2='camp', s1='gs', s2='gs', alpha_d1=50, alpha_d2=50, clipfloor=cfloor, maxit=niter, stop=conv_criteria )
  File "/home/callingham/.local/lib/python2.7/site-packages/ehtim/imaging/imager_utils.py", line 190, in imager_func
    (data1, sigma1, A1) = chisqdata(Obsdata, Prior, embed_mask, d1, **kwargs)
  File "/home/callingham/.local/lib/python2.7/site-packages/ehtim/imaging/imager_utils.py", line 625, in chisqdata
    (data, sigma, A) = chisqdata_cphase(Obsdata, Prior, mask, **kwargs)
  File "/home/callingham/.local/lib/python2.7/site-packages/ehtim/imaging/imager_utils.py", line 2259, in chisqdata_cphase
    sigma = np.linalg.norm([sigma, systematic_cphase_noise*np.ones(len(sigma))], axis=0)[snrmask]
IndexError: boolean index did not match indexed array along dimension 0; dimension is 70628 but corresponding boolean dimension is 70631
Exception TypeError: TypeError("'NoneType' object is not callable",) in <bound method UmfpackContext.new_del of <scipy.sparse.linalg.dsolve.umfpack.umfpack.UmfpackContext object at 0x4f39910>> ignored
@achael
Copy link
Owner

achael commented Aug 28, 2018

I think this was a bug introduced recently -- thanks for catching it! Basically, in this particular function it was applying the snrmask twice on the sigma array. I fixed what was obviously wrong -- If you pull and install the new version does your script run?

As an aside, I'd recommend comparing what happens if you use d2='logcamp' instead of d2='camp' in your call to imager func. We usually find using the logarithm of the closure amplitudes in this way is better behaved than the closure amplitudes themselves; it would be interesting to see if the same holds for your data.

Andrew

@jrcallingham
Copy link
Author

Thanks Andrew for responding so quickly. It looks like that fixed it. I will give logcamp a go!

@achael achael closed this as completed Sep 6, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants