ratt-ru / shadeMS

Rapid Measurement Set plotting with dask-ms and datashader
20 stars 6 forks source link

error: TypeError: len() of unsized object when trying to plot -x FREQ -y amp -c SCAN_NUMBER with MeerKAT data #106

Closed SavannahStanbury closed 1 year ago

SavannahStanbury commented 1 year ago

Using the master branch shadems with the command: shadems msdir/1617605022_sdp_l0-cal.ms -x FREQ -y amp -c SCAN_NUMBER --title 'freq_vs_amp_1617605022_s I get the error:

dp_l0-cal.ms' 2022-11-17 22:37:35 - shadems - INFO - using colourmap colorcet.bkr 2022-11-17 22:37:35 - shadems - INFO - using colourmap cmasher.pride 2022-11-17 22:37:35 - shadems - INFO - using colourmap colorcet.glasbey_dark 2022-11-17 22:37:35 - shadems - INFO - /home/stanbury/shadems_venv/bin/shadems msdir/1617605022_sdp_l0-cal.ms -x FREQ -y amp -c SCAN_NUMBER --title freq_vs_am p_1617605022_sdp_l0-cal.ms 2022-11-17 22:37:35 - shadems - INFO - ------------------------------------------------------ 2022-11-17 22:37:35 - shadems - INFO - : MS msdir/1617605022_sdp_l0-cal.ms contains 1074528 rows 2022-11-17 22:37:35 - shadems - INFO - : (1, 4096) spectral windows and channels 2022-11-17 22:37:35 - shadems - INFO - : 2 fields: J0408-6545 J0025-2602 2022-11-17 22:37:35 - shadems - INFO - : 16 scans: 1 2 4 5 7 9 10 12 14 16 18 19 21 23 25 26 2022-11-17 22:37:36 - shadems - INFO - : 63/63 antennas: 0:m000 1:m001 2:m002 3:m003 4:m004 5:m005 6:m006 7:m007 8:m008 9:m009 10:m010 11:m011 12:m012 13:m0 13 14:m014 15:m015 16:m016 17:m017 18:m018 19:m019 20:m020 21:m021 22:m022 23:m023 24:m024 25:m025 26:m026 27:m027 28:m028 29:m029 30:m030 31:m031 32:m032 33: m033 34:m034 35:m035 36:m036 37:m037 38:m038 39:m039 40:m040 41:m041 42:m042 43:m043 44:m044 45:m045 46:m046 47:m047 48:m049 49:m050 50:m051 51:m052 52:m053 5 3:m054 54:m055 55:m056 56:m057 57:m058 58:m059 59:m060 60:m061 61:m062 62:m063 2022-11-17 22:37:36 - shadems - INFO - : 2016/2016 baselines present 2022-11-17 22:37:36 - shadems - INFO - : corrs/Stokes XX XY YX YY I Q U V 2022-11-17 22:37:36 - shadems - INFO - ------------------------------------------------------ 2022-11-17 22:37:36 - shadems - INFO - : Data selected for plotting: 2022-11-17 22:37:36 - shadems - INFO - Antenna(s) : all 2022-11-17 22:37:36 - shadems - INFO - Baseline(s) : all except autocorrelations 2022-11-17 22:37:36 - shadems - INFO - Field(s) : all 2022-11-17 22:37:36 - shadems - INFO - SPW(s) : all 2022-11-17 22:37:36 - shadems - INFO - Scan(s) : all 2022-11-17 22:37:36 - shadems - INFO - Channels : all 2022-11-17 22:37:36 - shadems - INFO - Corr/Stokes : XX XY YX YY 2022-11-17 22:37:36 - shadems - INFO - ------------------------------------------------------ 2022-11-17 22:37:36 - shadems - INFO - axis: FREQ, range (None, None), discretization None 2022-11-17 22:37:36 - shadems - INFO - axis: amp(DATA), corr None, range (None, None), discretization None 2022-11-17 22:37:36 - shadems - INFO - axis: _(SCAN_NUMBER), corr False, range (None, None), discretization 16 2022-11-17 22:37:36 - shadems - INFO - : you have asked for 1 plots employing 3 unique datums 2022-11-17 22:37:36 - shadems - INFO - : Indexing MS and building dataframes (1040949 rows, chunk size is 5000) 2022-11-17 22:37:37 - shadems - INFO - : complete 2022-11-17 22:37:37 - shadems - INFO - : rendering 1 dataframes with 1.71e+10 points into 1 plot types 2022-11-17 22:37:37 - shadems - INFO - : rendering plot-1617605022_sdp_l0-cal-DATA-XX-XY-YX-YY-amp-FREQ-SCAN_NUMBER.png 2022-11-17 22:37:37 - shadems - INFO - : scanning axis min/max for DATA_amp_None Traceback (most recent call last): File "/home/stanbury/shadems_venv/bin/shadems", line 8, in main.main([a for a in sys.argv[1:]]) File "/home/stanbury/shadems_venv/lib/python3.8/site-packages/shade_ms/main.py", line 547, in main render_single_plot(df, subset, xdatum, ydatum, adatum, ared, cdatum, pngname, title, xlabel, ylabel) File "/home/stanbury/shadems_venv/lib/python3.8/site-packages/shade_ms/main.py", line 488, in render_single_plot result = data_plots.create_plot(df, subset, xdatum, ydatum, adatum, ared, cdatum, File "/home/stanbury/shadems_venv/lib/python3.8/site-packages/shade_ms/data_plots.py", line 483, in create_plot ax.imshow(X=rgb.data, extent=[xmin, xmax, ymin, ymax], File "/home/stanbury/shadems_venv/lib/python3.8/site-packages/matplotlib/_api/deprecation.py", line 454, in wrapper return func(*args, kwargs) File "/home/stanbury/shadems_venv/lib/python3.8/site-packages/matplotlib/init.py", line 1423, in inner return func(ax, *map(sanitize_sequence, args), *kwargs) File "/home/stanbury/shadems_venv/lib/python3.8/site-packages/matplotlib/axes/_axes.py", line 5614, in imshow im.set_extent(im.get_extent()) File "/home/stanbury/shadems_venv/lib/python3.8/site-packages/matplotlib/image.py", line 979, in set_extent self.axes.set_xlim((xmin, xmax), auto=None) File "/home/stanbury/shadems_venv/lib/python3.8/site-packages/matplotlib/_api/deprecation.py", line 454, in wrapper return func(args, kwargs) File "/home/stanbury/shadems_venv/lib/python3.8/site-packages/matplotlib/axes/_base.py", line 3693, in set_xlim return self.xaxis._set_lim(left, right, emit=emit, auto=auto) File "/home/stanbury/shadems_venv/lib/python3.8/site-packages/matplotlib/axis.py", line 1112, in _set_lim v0 = self.axes._validate_converted_limits(v0, self.convert_units) File "/home/stanbury/shadems_venv/lib/python3.8/site-packages/matplotlib/axes/_base.py", line 3610, in _validate_converted_limits converted_limit = convert(limit) File "/home/stanbury/shadems_venv/lib/python3.8/site-packages/matplotlib/axis.py", line 1656, in convert_units if munits._is_natively_supported(x): File "/home/stanbury/shadems_venv/lib/python3.8/site-packages/matplotlib/units.py", line 64, in _is_natively_supported for thisx in x: File "/home/stanbury/shadems_venv/lib/python3.8/site-packages/dask/array/core.py", line 1694, in iter for i in range(len(self)): File "/home/stanbury/shadems_venv/lib/python3.8/site-packages/dask/array/core.py", line 1558, in len raise TypeError("len() of unsized object") TypeError: len() of unsized object

Kincaidr commented 1 year ago

I had this same issue and is now solved with the deps-update branch. Please check on your side if this is also the case?

SavannahStanbury commented 1 year ago

I had this same issue and is now solved with the deps-update branch. Please check on your side if this is also the case?

I tried this and I am still getting the same error!

Athanaseus commented 1 year ago

Updates are now in the latest pypi release version 5.2. Please try pip install shadems -U

SavannahStanbury commented 1 year ago

Updates are now in the latest pypi release version 5.2. Please try pip install shadems -U

Works! Thank you!