I am attempting to write a code that will allow me to loop through a series of FITS fies in a folder on my Desktop. This is what I have so far, but no plot as yet. I have included a picture of what the plot should look like after the looping process. import numpy as np import matplotlib.pyplot as plt import glob from astropy.io import fits from astropy.wcs import WCS from pathlib import Path %matplotlib inline %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 folder_path = '~/Desktop/harpn_sun_release_package_ccf_2018/2018-01-18/' fits_files = glob.glob(folder_path + '*.fits') for file_path in fits_files: plot_fits_file(file_path) plt.show()

Systems Architecture
7th Edition
ISBN:9781305080195
Author:Stephen D. Burd
Publisher:Stephen D. Burd
Chapter3: Data Representation
Section: Chapter Questions
Problem 3VE: A(n) __________ is an integer stored in double the normal number of bit positions.
icon
Related questions
Question

I am attempting to write a code that will allow me to loop through a series of FITS fies in a folder on my Desktop.

This is what I have so far, but no plot as yet.  I have included a picture of what the plot should look like after the looping process.

import numpy as np
import matplotlib.pyplot as plt
import glob
from astropy.io import fits
from astropy.wcs import WCS
from pathlib import Path
%matplotlib inline
%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

folder_path = '~/Desktop/harpn_sun_release_package_ccf_2018/2018-01-18/'
    
fits_files = glob.glob(folder_path + '*.fits')


for file_path in fits_files:
    plot_fits_file(file_path)
    plt.show()

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

Step by step

Solved in 5 steps with 2 images

Blurred answer
Knowledge Booster
Random Class and its operations
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