{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Basics of Marvin\n",
"\n",
"In this notebook, you will learn the common core functionality across many of the Marvin Tools. This includes the basics of accessing and handling MaNGA data from different locations, as well as a beginners guide of interacting with data via the core tools of Cubes and Maps. Much of this information can be found in the [Getting Started section](https://sdss-marvin.readthedocs.io/en/stable/getting-started.html) of the Marvin documentation. \n",
"\n",
"## Table of Contents\n",
"- [Data Access Modes](#modes)
\n",
"- [Interacting with Data Content](#interaction)
\n",
" - [Object Datamodels](#datamodel)
\n",
" - [Extracting Data](#extract)
\n",
" - [Accessing Associated Objects](#associates)
\n",
" - [Quality and Target Flags](#flags)
\n",
" - [NSA and DAPall Metadata](#mixin)
\n",
" - [Downloading Files](#download)
\n",
"- [Interacting with Spaxels](#spaxels)
"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"## Common Core Functionality \n",
"\n",
"Marvin Tools provides the core functionality for accessing MaNGA data with Marvin. At the lowest level they are class wrappers around data products or elements (datacubes, maps, and spaxels). Their purpose is to provide a more natural way to interact with the data, unconstrained by specific data storage architectures such as files or databases, or by data location such as a laptop or remote server. \n",
"\n",
"All Marvin Tools are built off a set of common core functionalities and features, and thus behave in very similar ways. There are four main classes provided in Marvin: the ``Cube``, the ``RSS``, the ``Maps``, and the ``ModelCube``.\n",
"We will start by focusing on a Marvin Cube to demonstrate the common features and handling of Marvin Tools. Everything discussed here also applies to any of the other available Marvin Tools listed above. \n",
" \n",
"Let's start by importing the Marvin Cube class."
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"from marvin.tools import Cube"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You may see the info message `No release version set. Setting default to DR15`. The default data release Marvin uses is DR15. For this tutorial, we will be using DR15 data so there is no need to do anything further. In general, to change which release Marvin uses, we can use the Marvin `config.setRelease` method on the `config` object. "
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"from marvin import config\n",
"# set the release to DR15\n",
"config.setRelease(\"DR15\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"### Data Access Modes"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's instantiate our first cube, for galaxy with plate-IFU designation 8485-1901. Each marvin tool takes a string id input and can one of: a string filepath and name, a plate-IFU designation, or a manga-ID designation. Marvin will attempt to identify the input format and properly load the target data."
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# instantiate a cube for 8485-1901\n",
"cube = Cube('8485-1901')\n",
"cube"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Once instantiated, each marvin tool indicates a **mode** and a **data-origin**. Note that `mode=\"local\"` and `data_origin=\"file\"`. This indicates that we have accessed a file from our local filesystem. Our cube now has a ``filename`` attribute indicating its location on disk. "
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'/Users/Brian/Work/sdss/sas/dr15/manga/spectro/redux/v2_4_3/8485/stack/manga-8485-1901-LOGCUBE.fits.gz'"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# print the local filename\n",
"cube.filename"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"What if we won't have the MaNGa data products for our target of interest? We can specify the **plateifu** or **mangaid** of the target and Marvin will access it remotely. Let's open a cube for 8485-1902."
]
},
{
"cell_type": "code",
"execution_count": 132,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 132,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"remote_cube = Cube('8485-1902')\n",
"remote_cube"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now note that ``mode=\"remote\"`` and ``data_origin=\"api\"``. This indicates the cube has been remotely loaded using the built-in Marvin API. By specifying an input **plateifu** or **mangaid**, marvin will always first try to access the data locally, and then fall back to remote access. You can also explicitly load a file using the ``filename`` keyword argument. "
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Explicitly load a cube from a file on disk \n",
"filename = '/Users/Brian/Work/sdss/sas/dr15/manga/spectro/redux/v2_4_3/8485/stack/manga-8485-1901-LOGCUBE.fits.gz'\n",
"cube = Cube(filename=filename)\n",
"cube"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"### Interacting with Data Content\n",
"\n",
"Regardless of how you load an object, the way we interact with all the tools, and the way they behave, is the same. They also all provide some quick access to basic metadata, like coordinates, header information, and WCS.\n",
""
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Target Coordindates: 232.544703894 48.6902009334\n",
"Header:\n"
]
},
{
"data": {
"text/plain": [
"XTENSION= 'IMAGE ' / IMAGE extension \n",
"BITPIX = -32 / Number of bits per data pixel \n",
"NAXIS = 3 / Number of data axes \n",
"NAXIS1 = 34 / \n",
"NAXIS2 = 34 / \n",
"NAXIS3 = 4563 / \n",
"PCOUNT = 0 / No Group Parameters \n",
"GCOUNT = 1 / One Data Group \n",
"AUTHOR = 'Brian Cherinka & David Law ' / \n",
"VERSDRP2= 'v2_4_3 ' / MaNGA DRP version (2d processing) \n",
"VERSDRP3= 'v2_4_3 ' / MaNGA DRP Version (3d processing) \n",
"VERSPLDS= 'v2_52 ' / Platedesign Version \n",
"VERSFLAT= 'v1_31 ' / Specflat Version \n",
"VERSCORE= 'v1_6_2 ' / MaNGAcore Version \n",
"VERSPRIM= 'v2_5 ' / MaNGA Preimaging Version \n",
"VERSUTIL= 'v5_5_32 ' / Version of idlutils \n",
"VERSIDL = 'x86_64 linux unix linux 7.1.1 Aug 21 2009 64 64 ' / Version of IDL \n",
"BSCALE = 1.00000 / Intensity unit scaling \n",
"BZERO = 0.00000 / Intensity zeropoint \n",
"BUNIT = '1E-17 erg/s/cm^2/Ang/spaxel' / Specific intensity (per spaxel) \n",
"MASKNAME= 'MANGA_DRP3PIXMASK' / Bits in sdssMaskbits.par used by mask extension\n",
"TELESCOP= 'SDSS 2.5-M' / Sloan Digital Sky Survey \n",
"INSTRUME= 'MaNGA ' / SDSS-IV MaNGA IFU \n",
"SRVYMODE= 'MaNGA dither' / Survey leading this observation and its mode \n",
"PLATETYP= 'APOGEE-2&MaNGA' / Type of plate (e.g. MaNGA, APOGEE-2&MANGA) \n",
"OBJSYS = 'ICRS ' / The TCC objSys \n",
"EQUINOX = 2000.00 / \n",
"RADESYS = 'FK5 ' / \n",
"LAMPLIST= 'lamphgcdne.dat' / \n",
"TPLDATA = 'BOSZ_3000-11000A.fits' / \n",
"NEXP = 9 / Total number of exposures \n",
"EXPTIME = 8100.87 / Total exposure time (seconds) \n",
"BLUESN2 = 19.9834 / Total SN2 in blue channel \n",
"REDSN2 = 42.7417 / Total SN2 in red channel \n",
"AIRMSMIN= 1.03987 / Minimum airmass \n",
"AIRMSMED= 1.04708 / Median airmass \n",
"AIRMSMAX= 1.08221 / Maximum airmass \n",
"SEEMIN = 1.17790 / Best guider seeing \n",
"SEEMED = 1.30425 / Median guider seeing \n",
"SEEMAX = 1.42179 / Worst guider seeing \n",
"TRANSMIN= 0.802254 / Worst guider transparency \n",
"TRANSMED= 0.831209 / Median guider transparency \n",
"TRANSMAX= 0.839501 / Best guider transparency \n",
"MJDMIN = 57132 / MJD of first exposure \n",
"MJDMED = 57132 / MJD of median exposure \n",
"MJDMAX = 57132 / MJD of last exposure \n",
"DATE-OBS= '2015-04-20' / Date of median exposure \n",
"MJDRED = 58198 / MJD of the reduction \n",
"DATERED = '2018-03-21' / Date of the reduction \n",
"MNGTARG1= 2336 / manga_target1 maskbit \n",
"MNGTARG2= 0 / manga_target2 maskbit \n",
"MNGTARG3= 0 / manga_target3 maskbit \n",
"IFURA = 232.544700000 / IFU R.A. (J2000 deg.) \n",
"IFUDEC = 48.6902010000 / IFU Dec. (J2000 deg.) \n",
"OBJRA = 232.544703894 / Object R.A. (J2000 deg.) \n",
"OBJDEC = 48.6902009334 / Object Dec. (J2000 deg.) \n",
"CENRA = 234.064260000 / Plate center R.A. (J2000 deg.) \n",
"CENDEC = 48.5898740000 / Plate center Dec. (J2000 deg.) \n",
"PLATEID = 8485 / Current plate \n",
"DESIGNID= 8980 / Current design \n",
"IFUDSGN = 1901 / ifuDesign \n",
"FRLPLUG = 29 / Plugged ferrule \n",
"PLATEIFU= '8485-1901' / PLATEID-ifuDesign \n",
"CARTID = '3 ' / Cart(s) used \n",
"HARNAME = 'ma060 ' / Harness name(s) \n",
"METFILE = 'ma060-56887-1.par' / IFU metrology file(s) \n",
"MANGAID = '1-209232' / MaNGA ID number \n",
"CATIDNUM= '1 ' / Primary target input catalog \n",
"PLTTARG = 'plateTargets-1.par' / plateTarget reference file \n",
"DRP3QUAL= 0 / DRP-3d quality bitmask \n",
"IFUGLON = 78.9550411299 / IFU Galactic longitude (deg) \n",
"IFUGLAT = 52.6212190954 / IFU Galactic latitude (deg) \n",
"EBVGAL = 0.0144335 / Galactic reddening E(B-V) \n",
"GFWHM = 2.46769 / Reconstructed FWHM in g-band (arcsec) \n",
"RFWHM = 2.47181 / Reconstructed FWHM in r-band (arcsec) \n",
"IFWHM = 2.45516 / Reconstructed FWHM in i-band (arcsec) \n",
"ZFWHM = 2.43769 / Reconstructed FWHM in z-band (arcsec) \n",
"CTYPE3 = 'WAVE-LOG' / \n",
"CRPIX3 = 1 / Starting pixel (1-indexed) \n",
"CRVAL3 = 3621.59598486 / Central wavelength of first pixel \n",
"CD3_3 = 0.833903304339 / Initial dispersion per pixel \n",
"CUNIT3 = 'Angstrom' / \n",
"CRPIX1 = 18.0000 /Reference pixel (1-indexed) \n",
"CRPIX2 = 18.0000 /Reference pixel (1-indexed) \n",
"CRVAL1 = 232.544700000 / \n",
"CRVAL2 = 48.6902010000 / \n",
"CD1_1 = -0.000138889 / \n",
"CD2_2 = 0.000138889 / \n",
"CTYPE1 = 'RA---TAN' / \n",
"CTYPE2 = 'DEC--TAN' / \n",
"CUNIT1 = 'deg ' / \n",
"CUNIT2 = 'deg ' / \n",
"HDUCLASS= 'SDSS ' /SDSS format class \n",
"HDUCLAS1= 'CUBE ' / \n",
"HDUCLAS2= 'DATA ' / \n",
"ERRDATA = 'IVAR ' / Error extension name \n",
"QUALDATA= 'MASK ' / Mask extension name \n",
"EXTNAME = 'FLUX ' / \n",
"DATASUM = '2745070007' / data unit checksum updated 2018-03-21T06:08:47 \n",
"CHECKSUM= 'KZaaKYRXKYXaKYXU' / HDU checksum updated 2018-03-21T06:08:47 "
]
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"print('Target Coordindates:', cube.ra, cube.dec)\n",
"print('Header:')\n",
"\n",
"# access the PRIMARY header for the current object\n",
"cube.header"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"WCS Keywords\n",
"\n",
"Number of WCS axes: 3\n",
"CTYPE : 'RA---TAN' 'DEC--TAN' 'WAVE-LOG' \n",
"CRVAL : 232.5447 48.690201 3.62159598486e-07 \n",
"CRPIX : 18.0 18.0 1.0 \n",
"CD1_1 CD1_2 CD1_3 : -0.000138889 0.0 0.0 \n",
"CD2_1 CD2_2 CD2_3 : 0.0 0.000138889 0.0 \n",
"CD3_1 CD3_2 CD3_3 : 0.0 0.0 8.33903304339e-11 \n",
"NAXIS : 34 34 4563"
]
},
"execution_count": 43,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# show the WCS for the current object\n",
"cube.wcs"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"### Object Datamodels\n",
"Every Marvin object comes with a built-in **datamodel**, which shows us what extensions are available, how they are names, and what they contain. "
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 47,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# look up the cube datmaodel\n",
"datamodel = cube.datamodel\n",
"datamodel"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The datamodel for a cube contains 3 datacube extensions and 2 spectral extensions. Let's look at them more closely. "
]
},
{
"cell_type": "code",
"execution_count": 62,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Datacubes:\n"
]
},
{
"data": {
"text/plain": [
"[,\n",
" ,\n",
" ]"
]
},
"execution_count": 62,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# see what datacubes are available\n",
"print('Datacubes:')\n",
"datamodel.datacubes"
]
},
{
"cell_type": "code",
"execution_count": 63,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Spectra:\n"
]
},
{
"data": {
"text/plain": [
"[,\n",
" ]"
]
},
"execution_count": 63,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# see what additional spectral extensions are available\n",
"print('Spectra:')\n",
"datamodel.spectra"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This tells us that this cube has three associated 3D datacubes, ``flux``, ``dispersion``, and ``dispersion_prepixel``, and two associated spectra, ``spectral_resolution`` and ``spectral_resolution_prepixel``, as well as their associated units. The ``description`` attribute provides information on what the extension is. "
]
},
{
"cell_type": "code",
"execution_count": 64,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Flux description: 3D rectified cube\n",
"Spectral Resolution description: Median spectral resolution as a function of wavelength for the fibers in this IFU\n"
]
}
],
"source": [
"print('Flux description:', datamodel.datacubes.flux.description)\n",
"print('Spectral Resolution description:', datamodel.spectra.spectral_resolution.description)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The names of each of the datacubes and spectral extensions are available as object attributes and can be used to access the associated data quantity. Let's access the ``flux`` for our current cube. "
]
},
{
"cell_type": "code",
"execution_count": 66,
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"$[[[0,~0,~0,~\\dots,~0,~0,~0],~\n",
" [0,~0,~0,~\\dots,~0,~0,~0],~\n",
" [0,~0,~0,~\\dots,~0,~0,~0],~\n",
" \\dots,~\n",
" [0,~0,~0,~\\dots,~0,~0,~0],~\n",
" [0,~0,~0,~\\dots,~0,~0,~0],~\n",
" [0,~0,~0,~\\dots,~0,~0,~0]],~\n",
"\n",
" [[0,~0,~0,~\\dots,~0,~0,~0],~\n",
" [0,~0,~0,~\\dots,~0,~0,~0],~\n",
" [0,~0,~0,~\\dots,~0,~0,~0],~\n",
" \\dots,~\n",
" [0,~0,~0,~\\dots,~0,~0,~0],~\n",
" [0,~0,~0,~\\dots,~0,~0,~0],~\n",
" [0,~0,~0,~\\dots,~0,~0,~0]],~\n",
"\n",
" [[0,~0,~0,~\\dots,~0,~0,~0],~\n",
" [0,~0,~0,~\\dots,~0,~0,~0],~\n",
" [0,~0,~0,~\\dots,~0,~0,~0],~\n",
" \\dots,~\n",
" [0,~0,~0,~\\dots,~0,~0,~0],~\n",
" [0,~0,~0,~\\dots,~0,~0,~0],~\n",
" [0,~0,~0,~\\dots,~0,~0,~0]],~\n",
"\n",
" \\dots,~\n",
"\n",
" [[0,~0,~0,~\\dots,~0,~0,~0],~\n",
" [0,~0,~0,~\\dots,~0,~0,~0],~\n",
" [0,~0,~0,~\\dots,~0,~0,~0],~\n",
" \\dots,~\n",
" [0,~0,~0,~\\dots,~0,~0,~0],~\n",
" [0,~0,~0,~\\dots,~0,~0,~0],~\n",
" [0,~0,~0,~\\dots,~0,~0,~0]],~\n",
"\n",
" [[0,~0,~0,~\\dots,~0,~0,~0],~\n",
" [0,~0,~0,~\\dots,~0,~0,~0],~\n",
" [0,~0,~0,~\\dots,~0,~0,~0],~\n",
" \\dots,~\n",
" [0,~0,~0,~\\dots,~0,~0,~0],~\n",
" [0,~0,~0,~\\dots,~0,~0,~0],~\n",
" [0,~0,~0,~\\dots,~0,~0,~0]],~\n",
"\n",
" [[0,~0,~0,~\\dots,~0,~0,~0],~\n",
" [0,~0,~0,~\\dots,~0,~0,~0],~\n",
" [0,~0,~0,~\\dots,~0,~0,~0],~\n",
" \\dots,~\n",
" [0,~0,~0,~\\dots,~0,~0,~0],~\n",
" [0,~0,~0,~\\dots,~0,~0,~0],~\n",
" [0,~0,~0,~\\dots,~0,~0,~0]]] \\; \\mathrm{1 \\times 10^{-17}\\,\\frac{erg}{\\mathring{A}\\,s\\,spaxel\\,cm^{2}}}$"
],
"text/plain": [
""
]
},
"execution_count": 66,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"flux = cube.flux\n",
"flux"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The flux is represented as a 3D array with units. We can also access the inverse variance and the mask using ``flux.ivar`` and ``flux.mask``, respectively. Marvin uses [Astropy quantities](https://sdss-marvin.readthedocs.io/en/stable/getting-started.html#marvin-quantities) to represent all internal multidimensional data, e.g. 3-d datacube and 2-d map arrays, or 1-d spectral data. \n",
"\n",
"\n",
"### Extracting data\n",
"All marvin arrays can be sliced to extract subsets of data. Slices of datacubes produce new datacubes. Slices of spectra produce new spectra. A single slice from a datacube extracts a spectrum. Each spectrum can be easily displayed with its ``plot`` attribute. "
]
},
{
"cell_type": "code",
"execution_count": 81,
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"$[[[-0.091659956,~-0.057862502,~-0.069440775,~\\dots,~0.053298473,~0.062018514,~0.061692294],~\n",
" [-0.039790876,~0.0012025207,~0.020654099,~\\dots,~0.10088551,~0.086681418,~0.077831492],~\n",
" [0.019458937,~0.077283047,~0.10514027,~\\dots,~0.20350538,~0.14156495,~0.095826343],~\n",
" \\dots,~\n",
" [0.11238833,~0.210729,~0.26030195,~\\dots,~0.31280893,~0.15664732,~0.045407701],~\n",
" [0.10175533,~0.16688073,~0.1919646,~\\dots,~0.25600749,~0.17017685,~0.085642852],~\n",
" [0.054798402,~0.090783022,~0.094782196,~\\dots,~0.19204016,~0.14744423,~0.092620544]],~\n",
"\n",
" [[0.082437925,~0.13506371,~0.15769725,~\\dots,~-0.017692961,~-0.0091365296,~-0.011535237],~\n",
" [0.08238145,~0.14059068,~0.20465873,~\\dots,~0.00030586062,~0.015362157,~0.02579339],~\n",
" [0.10742286,~0.19580711,~0.26307943,~\\dots,~0.090322539,~0.099070497,~0.10215754],~\n",
" \\dots,~\n",
" [0.13724391,~0.24727274,~0.32436091,~\\dots,~0.20887852,~0.1519153,~0.08934544],~\n",
" [0.071373947,~0.18353277,~0.279935,~\\dots,~0.19906537,~0.19028623,~0.14837392],~\n",
" [0.03953917,~0.1445726,~0.23140128,~\\dots,~0.19428748,~0.18247326,~0.14610548]],~\n",
"\n",
" [[0.080393434,~0.15365259,~0.17991598,~\\dots,~0.11157861,~0.14622529,~0.13381542],~\n",
" [0.063174374,~0.13302146,~0.19359955,~\\dots,~0.092888884,~0.12845202,~0.13867338],~\n",
" [0.073336095,~0.15482704,~0.22972785,~\\dots,~0.12644014,~0.12638213,~0.12386632],~\n",
" \\dots,~\n",
" [0.13358407,~0.20693749,~0.2933836,~\\dots,~0.29559252,~0.25168392,~0.22717273],~\n",
" [0.068491481,~0.16247286,~0.27922529,~\\dots,~0.2724455,~0.24940087,~0.24897653],~\n",
" [0.025780736,~0.14267682,~0.24933307,~\\dots,~0.25498557,~0.22155441,~0.18757398]],~\n",
"\n",
" \\dots,~\n",
"\n",
" [[0,~0,~0,~\\dots,~0,~0,~0],~\n",
" [0,~0,~0,~\\dots,~0,~0,~0],~\n",
" [0,~0,~0,~\\dots,~0,~0,~0],~\n",
" \\dots,~\n",
" [0,~0,~0,~\\dots,~0,~0,~0],~\n",
" [0,~0,~0,~\\dots,~0,~0,~0],~\n",
" [0,~0,~0,~\\dots,~0,~0,~0]],~\n",
"\n",
" [[0,~0,~0,~\\dots,~0,~0,~0],~\n",
" [0,~0,~0,~\\dots,~0,~0,~0],~\n",
" [0,~0,~0,~\\dots,~0,~0,~0],~\n",
" \\dots,~\n",
" [0,~0,~0,~\\dots,~0,~0,~0],~\n",
" [0,~0,~0,~\\dots,~0,~0,~0],~\n",
" [0,~0,~0,~\\dots,~0,~0,~0]],~\n",
"\n",
" [[0,~0,~0,~\\dots,~0,~0,~0],~\n",
" [0,~0,~0,~\\dots,~0,~0,~0],~\n",
" [0,~0,~0,~\\dots,~0,~0,~0],~\n",
" \\dots,~\n",
" [0,~0,~0,~\\dots,~0,~0,~0],~\n",
" [0,~0,~0,~\\dots,~0,~0,~0],~\n",
" [0,~0,~0,~\\dots,~0,~0,~0]]] \\; \\mathrm{1 \\times 10^{-17}\\,\\frac{erg}{\\mathring{A}\\,s\\,spaxel\\,cm^{2}}}$"
],
"text/plain": [
""
]
},
"execution_count": 81,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# create a small datacube subset in a 10x10 pixel region around the center of the target\n",
"central_pixel = int(cube.flux.shape[1]/2)\n",
"lo = central_pixel - 5\n",
"hi = central_pixel + 5\n",
"subset = flux[:, lo:hi, lo:hi]\n",
"subset"
]
},
{
"cell_type": "code",
"execution_count": 84,
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"$[0.51865631,~0.43517455,~0.41204447,~\\dots,~0,~0,~0] \\; \\mathrm{1 \\times 10^{-17}\\,\\frac{erg}{\\mathring{A}\\,s\\,spaxel\\,cm^{2}}}$"
],
"text/plain": [
""
]
},
"execution_count": 84,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# extract a single spectrum and display it\n",
"spectrum = flux[:, 16, 17]\n",
"spectrum"
]
},
{
"cell_type": "code",
"execution_count": 85,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING: AstropyDeprecationWarning: The truth value of a Quantity is ambiguous. In the future this will raise a ValueError. [astropy.units.quantity]\n"
]
},
{
"data": {
"text/plain": [
""
]
},
"execution_count": 85,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"spectrum.plot(show_std=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"### Accessing Associated Objects\n",
"\n",
"For a given target galaxy, there are many associated MaNGA Data Products from both the reduction and analysis pipelines. Marvin seamlessly connects these together so you don't have to access them individually. Let's access the DAP Maps objects associated with our cube. To do so we use the ``getMaps`` method on ``cube``. All instances have ``getXXX`` methods that allow you to access associated data objects for a given target. "
]
},
{
"cell_type": "code",
"execution_count": 87,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 87,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# access the Maps object from our cube\n",
"maps = cube.getMaps()\n",
"maps"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"When accessing associated objects, Marvin also smartly determines whether to open the file locally or remotely grab it over the API. In our case, the **mode** is local and **data_origin** is file. DAP Maps have different bintypes. The default binning is **HYB10**, a hybrid binning scheme to S/N~10. To load a different bintype, use the ``bintype`` keyword argument in the ``cube.getMaps`` method. \n",
"\n",
"A ``Maps`` behaves very similarly to a ``Cube`` and everything we have discussed above will still work. Instead of datacubes and spectra, a ``Maps`` object contains a set of 2D quantities called ``Map``, each one of them representing a different property measured by the DAP. One can get a full list of all the properties available using the datamodel."
]
},
{
"cell_type": "code",
"execution_count": 88,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
" ,\n",
"