python 立方体切割块数_python – WCS作为使用astropy加载的数据立方体切片的matplotlib投影?...

我有一个名为’my_cube.fits’的FITS文件,带有WCS.该文件具有关于轴1和2(X和Y)的空间信息以及关于轴3(Z)的光谱信息.当我使用astropy.io.fits加载它时,谱轴为0,空间轴为1和2.文件加载如下:

import astropy.io.fits as pyfits

filename = 'my_cube.fits'

my_data = pyfits.getdata(filename)

my_header = pyfits.getheader(filename)

我一直在使用matplotlib来显示数据,我想知道如何使用它的WCS显示我的数据立方体的单个光谱帧.让我们说:

from astropy.wcs import WCS

from matplotlib import pyplot as plt

my_wcs = WCS(my_header)

fig = plt.figure()

ax = fig.add_subplot(111, projection=my_wcs)

ax.imshow(my_data[5, :, :])

plt.show()

如果我这样做,我有:

...

File "/usr/local/lib/python3.4/dist-packages/matplotlib/figure.py", line 1005, in add_subplot

a = subplot_class_factory(projection_class)(self, *args, **kwargs)

File "/usr/local/lib/python3.4/dist-packages/matplotlib/axes/_subplots.py", line 73, in __init__

self._axes_class.__init__(self, fig, self.figbox, **kwargs)

File "/usr/local/lib/python3.4/dist-packages/wcsaxes/core.py", line 49, in __init__

self.patch = self.coords.frame.patch

File "/usr/local/lib/python3.4/dist-packages/wcsaxes/frame.py", line 129, in patch

self._update_patch_path()

File "/usr/local/lib/python3.4/dist-packages/wcsaxes/frame.py", line 115, in _update_patch_path

self.update_spines()

File "/usr/local/lib/python3.4/dist-packages/wcsaxes/frame.py", line 192, in update_spines

self['b'].data = np.array(([xmin, ymin], [xmax, ymin]))

File "/usr/local/lib/python3.4/dist-packages/wcsaxes/frame.py", line 40, in data

self._world = self.transform.transform(self._data)

File "/usr/local/lib/python3.4/dist-packages/wcsaxes/transforms.py", line 166, in transform

world = self.wcs.wcs_pix2world(pixel_full, 1)

File "/usr/local/lib/python3.4/dist-packages/astropy/wcs/wcs.py", line 1329, in wcs_pix2world

'output', *args, **kwargs)

File "/usr/local/lib/python3.4/dist-packages/astropy/wcs/wcs.py", line 1231, in _array_converter

return _return_single_array(xy, origin)

File "/usr/local/lib/python3.4/dist-packages/astropy/wcs/wcs.py", line 1212, in _return_single_array

"of shape (N, {0})".format(self.naxis))

ValueError: When providing two arguments, the array must be of shape (N, 3)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`DBMS_STATS.GATHER_TABLE_STATS` 是 Oracle 数据库中一个过程(procedure),用于收集表的统计信息。它可以替代旧版的 `ANALYZE TABLE` 语句,提供更高效和更精确的统计信息收集方法。 使用 `DBMS_STATS.GATHER_TABLE_STATS` 可以收集表的各种统计信息,包括行数、块数、列的分布等。这些统计信息对于优化查询性能非常重要,因为它们可以帮助优化器生成更准确的执行计划。 以下是使用 `DBMS_STATS.GATHER_TABLE_STATS` 收集表统计信息的示例: ```sql BEGIN DBMS_STATS.GATHER_TABLE_STATS( ownname => 'schema_name', tabname => 'table_name', estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE, method_opt => 'FOR ALL COLUMNS SIZE AUTO', cascade => TRUE ); END; ``` 在上面的示例中,`schema_name` 是表所属的模式名,`table_name` 是要收集统计信息的表名。`estimate_percent` 参数控制了采样的百分比,使用 `DBMS_STATS.AUTO_SAMPLE_SIZE` 可以自动选择合适的采样大小。`method_opt` 参数指定了统计信息收集的方法和选项,'FOR ALL COLUMNS SIZE AUTO' 表示对所有列进行统计,并自动选择合适的大小。`cascade` 参数表示是否同时收集相关索引的统计信息。 需要注意的是,`DBMS_STATS.GATHER_TABLE_STATS` 还有其他可选的参数,可以根据具体需求进行设置,如 `granularity`、`degree` 等。详细的参数说明可以参考 Oracle 官方文档。 通过使用 `DBMS_STATS.GATHER_TABLE_STATS`,可以更灵活地、更高效地收集表的统计信息,并提升查询性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值