“Marvin”的版本间差异
跳到导航
跳到搜索
(→Maps) |
无编辑摘要 |
||
第33行: | 第33行: | ||
st_vdis=st_sig.inst_sigma_correction() |
st_vdis=st_sig.inst_sigma_correction() |
||
=== |
===Masks=== |
||
====pixmask==== |
|||
*DAP中的map类都有pixmap的类属性,可以help查看 |
*DAP中的map类都有pixmap的类属性,可以help查看 |
||
*比如获得ha的map之后,可以用ha.pixmask.schema查看 |
*比如获得ha的map之后,可以用ha.pixmask.schema查看 |
||
:pixmask的第0位是'NOCOV',就是是否天区覆盖,gflux 并没有设置这个bitmask,但是画图同样可以显示NOCOV天区,原因是因为用了ivar==0判据 |
:pixmask的第0位是'NOCOV',就是是否天区覆盖,gflux 并没有设置这个bitmask,但是画图同样可以显示NOCOV天区,原因是因为用了ivar==0判据 |
||
:np.where(gflux.ivar == 0)[0].shape |
:np.where(gflux.ivar == 0)[0].shape |
||
*ha.mask其实就是ha.pixmask.mask |
|||
===manga_target1.mask=== |
|||
*选源的时候的mask |
|||
from marvin.utils.general.maskbit import Maskbit |
|||
mngtarg1 = Maskbit('MANGA_TARGET1') |
|||
mngtarg1.schema |
|||
*map也可以查看这个mask |
|||
ha.manga_target1.mask |
|||
ha.manga_target1.bits |
|||
ha.manga_target1.labels |
|||
====Translating Amongst Mask Values, Bits, and labels==== |
|||
ha.pixmask.values_to_bits(1073741843) # [0, 1, 4, 30] |
|||
ha.pixmask.values_to_labels(1073741843) #['NOCOV', 'LOWCOV', 'NOVALUE', 'DONOTUSE'] |
|||
* Translate one label |
|||
ha.pixmask.labels_to_value('NOCOV') # 1 |
|||
ha.pixmask.labels_to_bits('NOCOV') # [0] |
|||
* Translate multiple labels |
|||
ha.pixmask.labels_to_value(['NOCOV', 'UNRELIABLE']) # 33 |
|||
ha.pixmask.labels_to_bits(['NOCOV', 'UNRELIABLE']) # [0, 5] |
|||
====Making a Custom Mask==== |
|||
* Mask of regions with no IFU coverage |
|||
nocov = ha.pixmask.get_mask('NOCOV') |
|||
* Mask of regions with low Halpha flux and marked as DONOTUSE |
|||
low_ha = (ha.value < 1e-17) * ha.pixmask.labels_to_value('DONOTUSE') |
|||
* Combine masks using bitwise OR (`|`) |
|||
my_mask = nocov | low_ha |
|||
fig, ax = ha.plot(mask=my_mask) |
2021年12月3日 (五) 03:10的版本
安装
- pip install sdss-marvin
- pip install -U sdss-marvin
配置
- 注意设置一些环境变量,关键是要找到dapall文件
setenv SAS_BASE_DIR $HOME/MaNGA setenv MANGA_SPECTRO_REDUX $SAS_BASE_DIR/mangawork/manga/spectro/redux setenv MANGA_SPECTRO_ANALYSIS $SAS_BASE_DIR/mangawork/manga/spectro/analysis
- mode
import marvin marvin.config.mode = 'local' # or 'remote',‘auto’ marvin.config.access = 'collab' # 'DR15' marvin.config.setRelease("MPL-10")
- collab模式下要设置.netrc文件
功能
Maps
- 读取dap中的map
- map的data model 可以参看 https://sdss-marvin.readthedocs.io/en/latest/datamodel/mpl10.html?highlight=property%20name#dap-datamodel
ha = dapmap['gflux ha'] gflux=dapmap.getMap('spx_mflux',channel=None)
- 速度弥散度的改正 inst_sigma_correction() #marvin.tools.quantities.map.Map.inst_sigma_correction
Ha_sig=dapmap.getMap('emline_gsigma',channel='ha') #Ha_sigcorr=dapmap.getMap('emline_gsigmacorr',channel='ha') Ha_vdis=Ha.inst_sigma_correction() st_sig=dapmap.getMap('stellar_sigma') #st_sigcorr=dapmap.getMap('stellar_sigmacorr',channel='fit') st_vdis=st_sig.inst_sigma_correction()
Masks
pixmask
- DAP中的map类都有pixmap的类属性,可以help查看
- 比如获得ha的map之后,可以用ha.pixmask.schema查看
- pixmask的第0位是'NOCOV',就是是否天区覆盖,gflux 并没有设置这个bitmask,但是画图同样可以显示NOCOV天区,原因是因为用了ivar==0判据
- np.where(gflux.ivar == 0)[0].shape
- ha.mask其实就是ha.pixmask.mask
manga_target1.mask
- 选源的时候的mask
from marvin.utils.general.maskbit import Maskbit mngtarg1 = Maskbit('MANGA_TARGET1') mngtarg1.schema
- map也可以查看这个mask
ha.manga_target1.mask ha.manga_target1.bits ha.manga_target1.labels
Translating Amongst Mask Values, Bits, and labels
ha.pixmask.values_to_bits(1073741843) # [0, 1, 4, 30] ha.pixmask.values_to_labels(1073741843) #['NOCOV', 'LOWCOV', 'NOVALUE', 'DONOTUSE']
- Translate one label
ha.pixmask.labels_to_value('NOCOV') # 1 ha.pixmask.labels_to_bits('NOCOV') # [0]
- Translate multiple labels
ha.pixmask.labels_to_value(['NOCOV', 'UNRELIABLE']) # 33 ha.pixmask.labels_to_bits(['NOCOV', 'UNRELIABLE']) # [0, 5]
Making a Custom Mask
- Mask of regions with no IFU coverage
nocov = ha.pixmask.get_mask('NOCOV')
- Mask of regions with low Halpha flux and marked as DONOTUSE
low_ha = (ha.value < 1e-17) * ha.pixmask.labels_to_value('DONOTUSE')
- Combine masks using bitwise OR (`|`)
my_mask = nocov | low_ha fig, ax = ha.plot(mask=my_mask)