Greetings again With your awesome help, I now have a plot with several FIT files.  How can I simplify this to just loop through the folder that the FITS files are in, this is the path of one of the folders. Desktop  •  harpn_sun_release_package_ccf_2018  •  2018-01-18 •  r.HARPN.2018-01-18T14:25:36.145_CCF_A.fits This is the current code: import numpy as np import matplotlib.pyplot as plt from astropy.io import fits from astropy.wcs import WCS %matplotlib widget plt.figure(figsize=(5,5)) legends = [] def plot_fits_file(file_path):     # used this data to test ----------     # lam = np.random.random(100)     # flux = np.random.random(100)     # --------------------     # below code will work when you have file     # all the plot will be on single chart     hdul = fits.open(file_path)     data = hdul[1].data     h1 = hdul[1].header     flux = data[1]     w = WCS(h1, naxis=1, relax=False, fix=False)     lam = w.wcs_pix2world(np.arange(len(flux)), 0)[0]     plt.plot(lam, flux)     plt.ylim(0, )     plt.xlabel('RV[km/s]')     plt.ylabel('Normalized CCF')     legends.append(file_path) # here use slicing to get whatever name you want otherwise file     # name is too big spec_list = [     '~/Desktop/r.HARPN.2018-01-18T14:25:36.145_CCF_A.fits',     '~/Desktop/r.HARPN.2018-01-18T14:20:10.645_CCF_A.fits',     '~/Desktop/r.HARPN.2018-01-18T14:31:00.875_CCF_A.fits',     '~/Desktop/r.HARPN.2018-01-18T14:36:26.373_CCF_A.fits',     '~/Desktop/r.HARPN.2018-01-18T14:41:51.487_CCF_A.fits',     '~/Desktop/r.HARPN.2018-01-18T14:47:16.601_CCF_A.fits' ] for file_path in spec_list:     plot_fits_file(file_path) plt.show()

Systems Architecture
7th Edition
ISBN:9781305080195
Author:Stephen D. Burd
Publisher:Stephen D. Burd
Chapter8: Data And Network Communication Technology
Section: Chapter Questions
Problem 34VE
icon
Related questions
Question

Greetings again

With your awesome help, I now have a plot with several FIT files.  How can I simplify this to just loop through the folder that the FITS files are in, this is the path of one of the folders.

Desktop  •  harpn_sun_release_package_ccf_2018  •  2018-01-18 •  r.HARPN.2018-01-18T14:25:36.145_CCF_A.fits

This is the current code:

import numpy as np
import matplotlib.pyplot as plt
from astropy.io import fits
from astropy.wcs import WCS
%matplotlib widget


plt.figure(figsize=(5,5))
legends = []

def plot_fits_file(file_path):
    # used this data to test ----------
    # lam = np.random.random(100)
    # flux = np.random.random(100)
    # --------------------

    # below code will work when you have file
    # all the plot will be on single chart

    hdul = fits.open(file_path)
    data = hdul[1].data
    h1 = hdul[1].header
    flux = data[1]
    w = WCS(h1, naxis=1, relax=False, fix=False)
    lam = w.wcs_pix2world(np.arange(len(flux)), 0)[0]

    plt.plot(lam, flux)
    plt.ylim(0, )
    plt.xlabel('RV[km/s]')
    plt.ylabel('Normalized CCF')
    legends.append(file_path) # here use slicing to get whatever name you want otherwise file
    # name is too big

spec_list = [
    '~/Desktop/r.HARPN.2018-01-18T14:25:36.145_CCF_A.fits',
    '~/Desktop/r.HARPN.2018-01-18T14:20:10.645_CCF_A.fits',
    '~/Desktop/r.HARPN.2018-01-18T14:31:00.875_CCF_A.fits',
    '~/Desktop/r.HARPN.2018-01-18T14:36:26.373_CCF_A.fits',
    '~/Desktop/r.HARPN.2018-01-18T14:41:51.487_CCF_A.fits',
    '~/Desktop/r.HARPN.2018-01-18T14:47:16.601_CCF_A.fits'
]

for file_path in spec_list:
    plot_fits_file(file_path)


plt.show()

1
00
80000
60000
40000
20000
10
20
Figure 1
T
30
RV[km/s]
T
40
50
Transcribed Image Text:1 00 80000 60000 40000 20000 10 20 Figure 1 T 30 RV[km/s] T 40 50
Expert Solution
steps

Step by step

Solved in 3 steps with 2 images

Blurred answer
Knowledge Booster
Linux
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Recommended textbooks for you
Systems Architecture
Systems Architecture
Computer Science
ISBN:
9781305080195
Author:
Stephen D. Burd
Publisher:
Cengage Learning
Enhanced Discovering Computers 2017 (Shelly Cashm…
Enhanced Discovering Computers 2017 (Shelly Cashm…
Computer Science
ISBN:
9781305657458
Author:
Misty E. Vermaat, Susan L. Sebok, Steven M. Freund, Mark Frydenberg, Jennifer T. Campbell
Publisher:
Cengage Learning