@@ -390,6 +390,7 @@ <h2>Step 1: Download the data<a class="headerlink" href="#step-1-download-the-da
390
390
< div class ="cell_input docutils container ">
391
391
< div class ="highlight-ipython3 notranslate "> < div class ="highlight "> < pre > < span > </ span > < span class ="kn "> import</ span > < span class ="w "> </ span > < span class ="nn "> numpy</ span > < span class ="w "> </ span > < span class ="k "> as</ span > < span class ="w "> </ span > < span class ="nn "> np</ span >
392
392
< span class ="kn "> from</ span > < span class ="w "> </ span > < span class ="nn "> astropy.utils.data</ span > < span class ="w "> </ span > < span class ="kn "> import</ span > < span class ="n "> download_file</ span >
393
+ < span class ="kn "> import</ span > < span class ="w "> </ span > < span class ="nn "> astroquery</ span >
393
394
</ pre > </ div >
394
395
</ div >
395
396
</ div >
@@ -479,37 +480,19 @@ <h2>Step 2: Load the cubes<a class="headerlink" href="#step-2-load-the-cubes" ti
479
480
< div class ="output stderr highlight-myst-ansi notranslate "> < div class ="highlight "> < pre > < span > </ span > WARNING: ExperimentalImplementationWarning: The line-finding routine is experimental. Please report bugs on the Issues page: https://github.com/radio-astro-tools/spectral-cube/issues [spectral_cube.spectral_cube]
480
481
</ pre > </ div >
481
482
</ div >
482
- < div class ="output traceback highlight-ipythontb notranslate "> < div class ="highlight "> < pre > < span > </ span > < span class ="gt "> ---------------------------------------------------------------------------</ span >
483
- < span class ="ne "> ModuleNotFoundError</ span > < span class ="g g-Whitespace "> </ span > Traceback (most recent call last)
484
- < span class ="n "> Cell</ span > < span class ="n "> In</ span > < span class ="p "> [</ span > < span class ="mi "> 7</ span > < span class ="p "> ],</ span > < span class ="n "> line</ span > < span class ="mi "> 1</ span >
485
- < span class ="ne "> ----> </ span > < span class ="mi "> 1</ span > < span class ="n "> cube1</ span > < span class ="o "> .</ span > < span class ="n "> find_lines</ span > < span class ="p "> (</ span > < span class ="n "> chemical_name</ span > < span class ="o "> =</ span > < span class ="s2 "> " H2CS "</ span > < span class ="p "> )</ span > < span class ="o "> .</ span > < span class ="n "> show_in_notebook</ span > < span class ="p "> ()</ span >
486
-
487
- < span class ="nn "> File /opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/spectral_cube/spectral_cube.py:2620,</ span > in < span class ="ni "> BaseSpectralCube.find_lines</ span > < span class ="nt "> (self, velocity_offset, velocity_convention, rest_value, **kwargs)</ span >
488
- < span class ="g g-Whitespace "> </ span > < span class ="mi "> 2597</ span > < span class ="w "> </ span > < span class ="sd "> """</ span >
489
- < span class ="g g-Whitespace "> </ span > < span class ="mi "> 2598</ span > < span class ="sd "> Using astroquery's splatalogue interface, search for lines within the</ span >
490
- < span class ="g g-Whitespace "> </ span > < span class ="mi "> 2599</ span > < span class ="sd "> spectral band. See `astroquery.splatalogue.Splatalogue` for</ span >
491
- < span class ="sd "> (...) 2613 `with_spectral_unit`</ span >
492
- < span class ="g g-Whitespace "> </ span > < span class ="mi "> 2614</ span > < span class ="sd "> """</ span >
493
- < span class ="g g-Whitespace "> </ span > < span class ="mi "> 2615</ span > < span class ="n "> warnings</ span > < span class ="o "> .</ span > < span class ="n "> warn</ span > < span class ="p "> (</ span > < span class ="s2 "> "The line-finding routine is experimental. Please "</ span >
494
- < span class ="g g-Whitespace "> </ span > < span class ="mi "> 2616</ span > < span class ="s2 "> "report bugs on the Issues page: "</ span >
495
- < span class ="g g-Whitespace "> </ span > < span class ="mi "> 2617</ span > < span class ="s2 "> "https://github.com/radio-astro-tools/spectral-cube/issues"</ span > < span class ="p "> ,</ span >
496
- < span class ="g g-Whitespace "> </ span > < span class ="mi "> 2618</ span > < span class ="n "> ExperimentalImplementationWarning</ span >
497
- < span class ="g g-Whitespace "> </ span > < span class ="mi "> 2619</ span > < span class ="p "> )</ span >
498
- < span class ="ne "> -> </ span > < span class ="mi "> 2620</ span > < span class ="kn "> from</ span > < span class ="w "> </ span > < span class ="nn "> astroquery.splatalogue</ span > < span class ="w "> </ span > < span class ="kn "> import</ span > < span class ="n "> Splatalogue</ span >
499
- < span class ="g g-Whitespace "> </ span > < span class ="mi "> 2621</ span > < span class ="k "> if</ span > < span class ="n "> velocity_convention</ span > < span class ="ow "> in</ span > < span class ="n "> DOPPLER_CONVENTIONS</ span > < span class ="p "> :</ span >
500
- < span class ="g g-Whitespace "> </ span > < span class ="mi "> 2622</ span > < span class ="n "> velocity_convention</ span > < span class ="o "> =</ span > < span class ="n "> DOPPLER_CONVENTIONS</ span > < span class ="p "> [</ span > < span class ="n "> velocity_convention</ span > < span class ="p "> ]</ span >
501
-
502
- < span class ="ne "> ModuleNotFoundError</ span > : No module named 'astroquery'
503
- </ pre > </ div >
504
- </ div >
505
- </ div >
483
+ < script type ="application/vnd.jupyter.widget-view+json "> { "version_major" : 2 , "version_minor" : 0 , "model_id" : "b5a507dafc8548b192d544e0dc59b9d0" } </ script > </ div >
506
484
</ div >
507
485
< div class ="cell docutils container ">
508
486
< div class ="cell_input docutils container ">
509
487
< div class ="highlight-ipython3 notranslate "> < div class ="highlight "> < pre > < span > </ span > < span class ="n "> cube2</ span > < span class ="o "> .</ span > < span class ="n "> find_lines</ span > < span class ="p "> (</ span > < span class ="n "> chemical_name</ span > < span class ="o "> =</ span > < span class ="s2 "> "SiO"</ span > < span class ="p "> )</ span > < span class ="o "> .</ span > < span class ="n "> show_in_notebook</ span > < span class ="p "> ()</ span >
510
488
</ pre > </ div >
511
489
</ div >
512
490
</ div >
491
+ < div class ="cell_output docutils container ">
492
+ < div class ="output stderr highlight-myst-ansi notranslate "> < div class ="highlight "> < pre > < span > </ span > WARNING: ExperimentalImplementationWarning: The line-finding routine is experimental. Please report bugs on the Issues page: https://github.com/radio-astro-tools/spectral-cube/issues [spectral_cube.spectral_cube]
493
+ </ pre > </ div >
494
+ </ div >
495
+ < script type ="application/vnd.jupyter.widget-view+json "> { "version_major" : 2 , "version_minor" : 0 , "model_id" : "125fd5e4a9fb4683959d200b12009f91" } </ script > </ div >
513
496
</ div >
514
497
</ section >
515
498
< section id ="step-3-convert-cubes-from-frequency-to-velocity ">
@@ -531,6 +514,14 @@ <h2>Step 3: Convert cubes from frequency to velocity<a class="headerlink" href="
531
514
</ pre > </ div >
532
515
</ div >
533
516
</ div >
517
+ < div class ="cell_output docutils container ">
518
+ < div class ="output text_plain highlight-myst-ansi notranslate "> < div class ="highlight "> < pre > < span > </ span > SpectralCube with shape=(75, 250, 250) and unit=Jy / beam:
519
+ n_x: 250 type_x: RA---SIN unit_x: deg range: 266.534072 deg: 266.554577 deg
520
+ n_y: 250 type_y: DEC--SIN unit_y: deg range: -28.713958 deg: -28.695975 deg
521
+ n_s: 75 type_s: VRAD unit_s: km / s range: -43.509 km / s: 104.685 km / s
522
+ </ pre > </ div >
523
+ </ div >
524
+ </ div >
534
525
</ div >
535
526
< div class ="cell docutils container ">
536
527
< div class ="cell_input docutils container ">
@@ -541,6 +532,14 @@ <h2>Step 3: Convert cubes from frequency to velocity<a class="headerlink" href="
541
532
</ pre > </ div >
542
533
</ div >
543
534
</ div >
535
+ < div class ="cell_output docutils container ">
536
+ < div class ="output text_plain highlight-myst-ansi notranslate "> < div class ="highlight "> < pre > < span > </ span > SpectralCube with shape=(478, 420, 420) and unit=Jy / beam:
537
+ n_x: 420 type_x: RA---SIN unit_x: deg range: 266.537002 deg: 266.551600 deg
538
+ n_y: 420 type_y: DEC--SIN unit_y: deg range: -28.711371 deg: -28.698569 deg
539
+ n_s: 478 type_s: VRAD unit_s: km / s range: -118.278 km / s: 203.359 km / s
540
+ </ pre > </ div >
541
+ </ div >
542
+ </ div >
544
543
</ div >
545
544
< p > From the shape of the cube, we can see the H2CS cube is narrower in velocity, so we’ll use that as the target spectral reprojection. However, the SiO cube is the smaller footprint on the sky.</ p >
546
545
< section id ="create-spatial-maps-of-the-peak-intensity-to-quickly-explore-the-cubes ">
@@ -553,6 +552,46 @@ <h3>Create spatial maps of the peak intensity to quickly explore the cubes:<a cl
553
552
</ pre > </ div >
554
553
</ div >
555
554
</ div >
555
+ < div class ="cell_output docutils container ">
556
+ < div class ="output stderr highlight-myst-ansi notranslate "> < div class ="highlight "> < pre > < span > </ span > WARNING: PossiblySlowWarning: This function (<function BaseSpectralCube.max at 0x7fd9ed7b79c0>) requires loading the entire cube into memory and may therefore be slow. [spectral_cube.utils]
557
+ /opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/spectral_cube/spectral_cube.py:440: RuntimeWarning: All-NaN slice encountered
558
+ out = function(self._get_filled_data(fill=fill,
559
+ </ pre > </ div >
560
+ </ div >
561
+ < div class ="output traceback highlight-ipythontb notranslate "> < div class ="highlight "> < pre > < span > </ span > < span class ="gt "> ---------------------------------------------------------------------------</ span >
562
+ < span class ="ne "> ModuleNotFoundError</ span > < span class ="g g-Whitespace "> </ span > Traceback (most recent call last)
563
+ < span class ="nn "> File /opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/spectral_cube/lower_dimensional_structures.py:430,</ span > in < span class ="ni "> Projection.quicklook</ span > < span class ="nt "> (self, filename, use_aplpy, aplpy_kwargs)</ span >
564
+ < span class ="g g-Whitespace "> </ span > < span class ="mi "> 429</ span > < span class ="k "> if</ span > < span class ="ow "> not</ span > < span class ="nb "> hasattr</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> ,</ span > < span class ="s1 "> 'FITSFigure'</ span > < span class ="p "> ):</ span >
565
+ < span class ="ne "> --> </ span > < span class ="mi "> 430</ span > < span class ="kn "> import</ span > < span class ="w "> </ span > < span class ="nn "> aplpy</ span >
566
+ < span class ="g g-Whitespace "> </ span > < span class ="mi "> 431</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> FITSFigure</ span > < span class ="o "> =</ span > < span class ="n "> aplpy</ span > < span class ="o "> .</ span > < span class ="n "> FITSFigure</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> hdu</ span > < span class ="p "> ,</ span >
567
+ < span class ="g g-Whitespace "> </ span > < span class ="mi "> 432</ span > < span class ="o "> **</ span > < span class ="n "> aplpy_kwargs</ span > < span class ="p "> )</ span >
568
+
569
+ < span class ="ne "> ModuleNotFoundError</ span > : No module named 'aplpy'
570
+
571
+ < span class ="n "> During</ span > < span class ="n "> handling</ span > < span class ="n "> of</ span > < span class ="n "> the</ span > < span class ="n "> above</ span > < span class ="n "> exception</ span > < span class ="p "> ,</ span > < span class ="n "> another</ span > < span class ="n "> exception</ span > < span class ="n "> occurred</ span > < span class ="p "> :</ span >
572
+
573
+ < span class ="ne "> ModuleNotFoundError</ span > < span class ="g g-Whitespace "> </ span > Traceback (most recent call last)
574
+ < span class ="n "> Cell</ span > < span class ="n "> In</ span > < span class ="p "> [</ span > < span class ="mi "> 12</ span > < span class ="p "> ],</ span > < span class ="n "> line</ span > < span class ="mi "> 2</ span >
575
+ < span class ="g g-Whitespace "> </ span > < span class ="mi "> 1</ span > < span class ="n "> mx</ span > < span class ="o "> =</ span > < span class ="n "> cube1</ span > < span class ="o "> .</ span > < span class ="n "> max</ span > < span class ="p "> (</ span > < span class ="n "> axis</ span > < span class ="o "> =</ span > < span class ="mi "> 0</ span > < span class ="p "> )</ span >
576
+ < span class ="ne "> ----> </ span > < span class ="mi "> 2</ span > < span class ="n "> mx</ span > < span class ="o "> .</ span > < span class ="n "> quicklook</ span > < span class ="p "> ()</ span >
577
+
578
+ < span class ="nn "> File /opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/spectral_cube/lower_dimensional_structures.py:439,</ span > in < span class ="ni "> Projection.quicklook</ span > < span class ="nt "> (self, filename, use_aplpy, aplpy_kwargs)</ span >
579
+ < span class ="g g-Whitespace "> </ span > < span class ="mi "> 437</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> FITSFigure</ span > < span class ="o "> .</ span > < span class ="n "> save</ span > < span class ="p "> (</ span > < span class ="n "> filename</ span > < span class ="p "> )</ span >
580
+ < span class ="g g-Whitespace "> </ span > < span class ="mi "> 438</ span > < span class ="k "> except</ span > < span class ="p "> (</ span > < span class ="n "> wcs</ span > < span class ="o "> .</ span > < span class ="n "> InconsistentAxisTypesError</ span > < span class ="p "> ,</ span > < span class ="ne "> ImportError</ span > < span class ="p "> ):</ span >
581
+ < span class ="ne "> --> </ span > < span class ="mi "> 439</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _quicklook_mpl</ span > < span class ="p "> (</ span > < span class ="n "> filename</ span > < span class ="o "> =</ span > < span class ="n "> filename</ span > < span class ="p "> )</ span >
582
+ < span class ="g g-Whitespace "> </ span > < span class ="mi "> 440</ span > < span class ="k "> else</ span > < span class ="p "> :</ span >
583
+ < span class ="g g-Whitespace "> </ span > < span class ="mi "> 441</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _quicklook_mpl</ span > < span class ="p "> (</ span > < span class ="n "> filename</ span > < span class ="o "> =</ span > < span class ="n "> filename</ span > < span class ="p "> )</ span >
584
+
585
+ < span class ="nn "> File /opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/spectral_cube/lower_dimensional_structures.py:444,</ span > in < span class ="ni "> Projection._quicklook_mpl</ span > < span class ="nt "> (self, filename)</ span >
586
+ < span class ="g g-Whitespace "> </ span > < span class ="mi "> 443</ span > < span class ="k "> def</ span > < span class ="w "> </ span > < span class ="nf "> _quicklook_mpl</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> ,</ span > < span class ="n "> filename</ span > < span class ="o "> =</ span > < span class ="kc "> None</ span > < span class ="p "> ):</ span >
587
+ < span class ="ne "> --> </ span > < span class ="mi "> 444</ span > < span class ="kn "> from</ span > < span class ="w "> </ span > < span class ="nn "> matplotlib</ span > < span class ="w "> </ span > < span class ="kn "> import</ span > < span class ="n "> pyplot</ span >
588
+ < span class ="g g-Whitespace "> </ span > < span class ="mi "> 445</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> figure</ span > < span class ="o "> =</ span > < span class ="n "> pyplot</ span > < span class ="o "> .</ span > < span class ="n "> gcf</ span > < span class ="p "> ()</ span >
589
+ < span class ="g g-Whitespace "> </ span > < span class ="mi "> 446</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> image</ span > < span class ="o "> =</ span > < span class ="n "> pyplot</ span > < span class ="o "> .</ span > < span class ="n "> imshow</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> value</ span > < span class ="p "> )</ span >
590
+
591
+ < span class ="ne "> ModuleNotFoundError</ span > : No module named 'matplotlib'
592
+ </ pre > </ div >
593
+ </ div >
594
+ </ div >
556
595
</ div >
557
596
< p > We can do the same thing all on one line (for the other cube this time):</ p >
558
597
< div class ="cell docutils container ">
0 commit comments