API
- class spelunker.load(dir='None', pid='None', obs_num='None', visit='None', visit_group='None', parallel_sequence_id='None', activity_number='None', exposure_number='None', dir_seg='None', guider='None', calib_level=2, save=False, token=None)
This class loads auxiliary FITS files of FG-GS guidestar data from MAST from a JWST Program ID. Using “load” will create attributes as np.array for the spatial data, time array, and flux array. After downloading the MAST files, other attributes become available, such as “object_properties” and “fg_table”, which contains metadata and stellar properties about the guidestar data. Example usage:
>>> spk = spelunker.load(pid=1534,obs_num='2',token='abcdefg1234567')
Parameters
- param dir:
(optional, string) The parameter “dir” allows the user to change the directory of the script. Changing the directory dictates where the class loads, creates folders, and save data and results. If ignored, “load” will save the current directory as an attribute for use with other functions.
- param pid:
(optional, int or string) An Python
intorstringof the Program ID for a given JWST program (i.e.: 1296, ‘1296’). Program IDs that are publicly avaliable are able to be accessed. Program IDs with exclusive rights will not be accessible unless the user has a MAST API token containing the rights to the program ID. The MAST API token must be entered with param “token” to use programs marked with exclusive rights. The program ID needs to be entered to use all of functions in “load”. However, the pid can be ignored to use specific functions within the class, though functionality will be severely limited. You can also forgo inputting the program ID to create a ‘blank’ object, then later input data for a pid using the functiondownloadgivenpidand the following parameters. For example:>>> spk = spelunker.load() >>> spk.download(pid=1534)
- param obs_num:
(optional, int or string) The integer or string of the observation number of a program ID. Inputting the observation number will filter the auxiliary FITS to only include the files with the given number before downloading all files. Note that when you specifify the observation number, you must also input the
pid.- param visit:
(optional, int or string) The visit parameter requires a Python
intorstring. Inputting the visit number will fillter the auxiliary FITS to only include the files with the given parameter before downloading all files.- param visit_group:
(optional, int or string) The visit group parameter requires either a
intorstring. After the FITS files downloads for a corresponding program ID, specifyingvist_groupwill filter the data to only include files with the given visit group before loading the data into the object.- param parallel_sequence_id:
(optional, int or string) The parallel sequence ID parameter requires either a
intorstring. After the FITS files downloads for a corresponding program ID, specifyingparallel_sequence_idwill filter the data to only include files with the given parallel sequence ID before loading the data into the object.- param activity_number:
(optional, int or string) The activity number requires either a
intorstring. After the FITS files downloads for a corresponding program ID, specifyingactivity_numberwill filter the data to only include files with the given activity number before loading the data into the object.- param exposure_number:
(optional, int or string) The exposure_number requires either a
intorstring. After the FITS files downloads for a corresponding program ID, specifyingexposure_numberwill filter the data to only include files with the given exposure number before loading the data into the object.- param dir_seg:
(optional, int or string) The segment number requires a Python
intorstring. Specifying the segment number will include guidestar FITS with only the input number in the header if the segmented files has ‘seg’ within the naming scheme for the filename. This parameter will filter associated program ID FITS after downloading has completed and before the data is loaded into the object.- param guider:
(optional, int or string) Similarly to dir_seg, the guider number requires a Python
intorstring. Specifying the guider number will include guidestar FITS with only the input number in the header if the files has ‘guider’ within the naming scheme for the filename. This parameter will filter associated program ID FITS after downloading has completed and before the data is loaded into the object.- param calib_level:
(optional, int or string) The calibration level can be specified as a Python
intorstring. This parameter determines the calibration level for the FG-GS FITS. The only inputs for this parameter are 1, and 2, referring to higher stages of calibration with the JWST pipeline. Inputting the observation number will filter the auxiliary FITS to only include the files with the given calibration level before downloading all files. Ifcalib_levelis ignored, the calibration level will default to 2.- param save:
(optional, boolean) Python
booleanthat either saves Gaussian fit, periodogram results, and other useful data automatically or does not save results except for the downloaded data. If ignored,savewill default to false.- param token:
(optional, string) This parameter takes a Python
stringof a given MAST API token. This is required for certain functions, such as accessing JWST mnemonics and technical information, as well as program IDs with exclusive rights. If ignored, a blank MAST API token attribute will be created and access to JWST mnemonics will be limited and any program ID marked with exclusive rights will not be loaded.
- bin_data(time, y, n_bin)
Bins a timeseries given a number of bins.
Parameters
- timenp.array
(Mandatory) The time arrary that will be binned.
- ynp.array
(Mandatory) The y output that will be binned to the time (usually a flux array from a timeseries).
- n_binint
(Mandatory) Number of bins to bin the timeseries.
Returns
A binned timeseries in a tuple with elements time_bins, y_bins, and y_err_bins.
- download(pid, obs_num='None', visit='None', visit_group='None', parallel_sequence_id='None', activity_number='None', exposure_number='None', dir_seg='None', guider='None', calib_level=2, save=False, token=None)
This function downloads FG-GS FITS for a given program ID, observtion number, visit number, and other parameters described as parameters in the
loadclass. The function also creates a working directory within the current directory to download selected FITS files and save results and plots. Additionally, the guidestar is processed and packaged into objects including the timeseries of guidiesstars, time and spatial arrays, and guidestar properties.Parameters
- param dir:
(optional, string) The parameter “dir” allows the user to change the directory of the script. Changing the directory dictates where the class loads, creates folders, and save data and results. If ignored, “load” will save the current directory as an attribute for use with other functions.
- param pid:
(optional, int or string) An Python
intorstringof the Program ID for a given JWST program (i.e.: 1296, ‘1296’). Program IDs that are publicly avaliable are able to be accessed. Program IDs with exclusive rights will not be accessible unless the user has a MAST API token containing the rights to the program ID. The MAST API token must be entered with param “token” to use programs marked with exclusive rights. The program ID needs to be entered to use all of functions in “load”. However, the pid can be ignored to use specific functions within the class, though functionality will be severely limited. You can also forgo inputting the program ID to create a ‘blank’ object, then later input data for a pid using the functiondownloadgivenpidand the following parameters. For example:>>> spk = spelunker.load() >>> spk.download(pid=1534)
- param obs_num:
(optional, int or string) The integer or string of the observation number of a program ID. Inputting the observation number will filter the auxiliary FITS to only include the files with the given number before downloading all files. Note that when you specifify the observation number, you must also input the
pid.- param visit:
(optional, int or string) The visit parameter requires a Python
intorstring. Inputting the visit number will fillter the auxiliary FITS to only include the files with the given parameter before downloading all files.- param visit_group:
(optional, int or string) The visit group parameter requires either a
intorstring. After the FITS files downloads for a corresponding program ID, specifyingvist_groupwill filter the data to only include files with the given visit group before loading the data into the object.- param parallel_sequence_id:
(optional, int or string) The parallel sequence ID parameter requires either a
intorstring. After the FITS files downloads for a corresponding program ID, specifyingparallel_sequence_idwill filter the data to only include files with the given parallel sequence ID before loading the data into the object.- param activity_number:
(optional, int or string) The activity number requires either a
intorstring. After the FITS files downloads for a corresponding program ID, specifyingactivity_numberwill filter the data to only include files with the given activity number before loading the data into the object.- param exposure_number:
(optional, int or string) The exposure_number requires either a
intorstring. After the FITS files downloads for a corresponding program ID, specifyingexposure_numberwill filter the data to only include files with the given exposure number before loading the data into the object.- param dir_seg:
(optional, int or string) The segment number requires a Python
intorstring. Specifying the segment number will include guidestar FITS with only the input number in the header if the segmented files has ‘seg’ within the naming scheme for the filename. This parameter will filter associated program ID FITS after downloading has completed and before the data is loaded into the object.- param guider:
(optional, int or string) Similarly to dir_seg, the guider number requires a Python
intorstring. Specifying the guider number will include guidestar FITS with only the input number in the header if the files has ‘guider’ within the naming scheme for the filename. This parameter will filter associated program ID FITS after downloading has completed and before the data is loaded into the object.- param calib_level:
(optional, int or string) The calibration level can be specified as a Python
intorstring. This parameter determines the calibration level for the FG-GS FITS. The only inputs for this parameter are 1, and 2, referring to higher stages of calibration with the JWST pipeline. Inputting the observation number will filter the auxiliary FITS to only include the files with the given calibration level before downloading all files. Ifcalib_levelis ignored, the calibration level will default to 2.- param save:
(optional, boolean) Python
booleanthat either saves Gaussian fit, periodogram results, and other useful data automatically or does not save results except for the downloaded data. If ignored,savewill default to false.- param token:
(optional, string) This parameter takes a Python
stringof a given MAST API token. This is required for certain functions, such as accessing JWST mnemonics and technical information, as well as program IDs with exclusive rights. If ignored, a blank MAST API token attribute will be created and access to JWST mnemonics will be limited and any program ID marked with exclusive rights will not be loaded.
Returns
The
downloadfunction creates attributes for frame by frame flux timeseries of a guidestar, as well as a time array, and spatial array. Other data that are created as attributes includes a table of the metadata for a selected program ID and object properties, which includes stellar properties of guidestars present within the program. Other attributes are created and recorded using the processed guidestar data, such asself.datamodelthat stores the objects for the JWST datamodel for each opened FITS andself.photometry_mask. Example usage:>>> self.fg_array; self.fg_flux; self.fg_time; self.object_properties
- duplicate_rm(products)
Remove duplicate filenames in a table.
Parameters
- productsastropy table
(Mandatory) The data products given from astroquery.
Returns
An astropy table that with all duplicate elements removed.
- flux_spatial_timelapse_animation(fg_array='None', fg_time='None', fg_flux='None', start=0, stop=100, interval=100, filename='movie.gif')
This function animates the spatial timeseries from
self.fg_array. The function will generate two plots, one with the flux timeseries, the other with the spatial timeseries sharing the same time array. Thus, this function will animate events in both plots simultaneously.Parameters
- fg_arraynp.array
(Optional) The guidestar spatial array with the same number of elements as
fg_timeandfg_flux. If ignored, the fg_array will be taken fromself.fg_array.- fg_timenp.array
(Optional) The guidestar time array with the same shape as the guidestar flux array. If ignored, the fg_time will be taken from
self.fg_time.- fg_fluxnp.array
(Optional) The guidestar flux array with the same shape as the guidestar time array. If ignored, the fg_flux will be taken from
self.fg_flux.- startint
(Optional) The starting index for animation to start within
fg_array.- endint
(Optional) The ending index for animation to end within
fg_array.- intervalint
(Optional) The delay between frames in milliseconds, according to
matplotlib.animation.ArtistAnimation.- filenamestring
(Optional) A filename to save the animation. To change the file type, the extension can be changed between
.mp4and.gif.
Returns
The animation saves as a specified file, either as
.mp4or.gif.
- gauss2d_fit(fg_array='None', ncpus=4, save=False)
This function applies a spatial gaussian fit to
self.fg_arrayfor guidestar data. The Gaussian parameters include amplitude, centriods, stddev, theta, and offset. Amplitude represents the brightness in counts measured by the Gaussian fit, centriods are the x and y pixels measured, stddev is the standard deviations of the pixels in the x and y coordinates, and theta is the orientation of the Gaussian fit. Additionally, the functiongauss2d_fitwill automatically applyrayparallel processing. For each frame inself.fg_array, a gaussian (which is defined with the functiongauss2d_fit), is fit usingscipy.optimize.curve_fit.Parameters
- fg_arraynp.array
(Optional) The spatial array can be changed into a user-defined input guidestar array for the fitting process.
- ncpusint
(Optional) The number of cores used for ray parallel processing. If ignored, the number of cpu cores will default to 4 cores.
- saveboolean
(Optional) This parameter will determine whether or not to save the output Gaussian fit table as a
.datdata file. If ignored,gauss2d_fitwill not save as a data file.
Returns
The results from the Gaussian fitting will be saved into the following attribute as an astropy table:
self.gaussfit_results. This function will also return an astropy table.
- get_mask(frame, npixels)
A specified number of pixels with the highest counts in a given frame are gathered within a mask.
Parameters
- framenp.array
(Mandatory) A guidestar frame with a shape of (8,8) is required.
Returns
Returns a boolean mask as a
np.arraytype.
- guidestar_plot()
Using astroplan, the guidestars within a given program ID are overplotted on reference stars from the Digitized Sky Survey (DSS). During a program ID, if multiple guidestars are used, a line is created between the positions of the guidestar.
Parameters
No function parameters, but this function takes in self.object_properties as an input.
Returns
This function returns a matplotlib
axesobject of the guidestar plot. Additionally, the function outputs guidestar track plot.
- minmax_gaussian_postprocessing(fg_array)
Calculates the minimum and maximum counts of a median guidestar frame using Gaussian fitting. The offset parameter will be the minimum value and the sum of the amplitude and offset counts will be the maximum value.
Parameters
- fg_arraynp.array
(Mandatory) The spatial array can be changed into a user-defined input guidestar array for the fitting process.
Returns
This function returns minimum and maximum float values for a median frame.
- mnemonics(mnemonic, start, end, plot=True)
Accesses JWST MAST for JWST technical mnemonics. This function searches for engineering telemetry from the Engineering Database (EDB) for a given time range in mjd. Currently, there are two mnemonics that are supported:
>>> 'SA_ZHGAUPST' (high gain antenna movement) >>> 'INIS_FWMTRCURR' (NIS filter wheel current)
Thousands of mnemonics are avaliable in the EDB, however only two are tested for this function. The output for each mnemonic can vary. Additionally, a MAST API token is required to use mnemonics.
Parameters
- mnemonicstring
(Mandatory) This parameter contains a string with the mnemonic code for a selected engineering telemetry.
- startfloat
(Mandatory) The start time in mjd, which is the start of time range to search for mnemonic events.
- endfloat
(Mandatory) The end time in mjd, which is the end of time range to search for mnemonic events.
- plotboolean
(Optional) Turn on or off the ability to plot.
Returns
The function returns a matplotlib
axesobject for the mnemonics. For theSA_ZHGAUPSTandINIS_FWMTRCURR, the events are stored as atuplein the respective attributes:>>> self.mnemonics_event_hga >>> self.mnemonics_event_nisfil
For other mnemonics, the events will be stored within the following attribute:
>>> self.mnemonics_event
- mnemonics_local(mnemonic, plot=True)
There are ‘local mnemonics’ from the attribute
fg_tablethat the function accesses. This function returns information such as the guidestar ID and filename as a mnemonic with a timestamp for which each event has occurred. A MAST API token is not required and will not impact functionality. Currently, there are only two local mnemonics that are supported:>>> 'GUIDESTAR' (guidestar ID) >>> 'FILENAME' (filename)
Parameters
- mnemonicstring
(Mandatory) A string that includes one of the two supported local mnemonics.
- plotboolean
(Optional) Turn on or off the ability to plot.
Returns
Here, the function
mnemonics_localreturns matplotlibaxesobjects. The mnemonics are also stored astuplesin attributes depending on which local mnemonic is specified in the parameter:>>> self.guidestar_mnemonics >>> self.filename_mnemonics
- negative_flux_preprocessing(fg_array, fg_time, fg_flux)
The function
negative_flux_preprocessingremoves elements in the parameters that are marked with counts with negative values from the parameterfg_flux. All parameters needs to have the same amount of elements in each array.Parameters
- fg_arraynp.array
(Mandatory) The spatial array of guidestar data. This must have a shape of (X, 8, 8), with X being the number of elements in the array.
- fg_timenp.array
(Mandatory) The time array of guidestar data. This must have a shape of (X,), with X being the number of elements in the array.
- fg_fluxnp.array
(Mandatory) The flux array of guidestar data. This must have a shape of (X,), with X being the number of elements in the array.
Returns
Any elements in fg_flux that have negative values will be removed for elements in the given parameters as well. This function will return the three processed arrays.
- normalization_flux_preprocessing()
Normalize star counts from guidestar datamodel objects. This function takes the data from the guidestar objects and divides it by the median of the guidestar data for each frame.
Parameters
No parameters, but this function takes the self.fg_timeseries as an input.
Returns
This function returns two arrays: the normalized spatial array and the normalized flux array.
- object_properties_func()
This function neatly packages useful stellar properties of guidestars in a specified program ID from the
self.fg_table, created from running thedownloadfunction.Parameters
No function parameters, but takes the self.fg_table, self.fg_datamodel, and self.stitcher attributes as inputs.
Returns
This function returns a table with the guidestar or object properties.
- optimize_photometry(mask=None, min_pixel=1, max_pixel=30, n_bin=100)
This function optimizes the photometry in self.fg_flux via either a user-defined mask (of size [8,8]), which has values of 1 in the pixels that want to be included in the photometry, or automatically by testing masks of the brightest npixels from min_pixel to max_pixel.
Parameters
- masknp.array
(Optional) mask array. Must have same dimensions as an FGS frame, ie, [8,8]. Values of 1 are pixels to be used, values of 0 won’t be used.
- min_pixelint
(Optional) minimum range of pixels to explore to optimize a mask.
- max_pixelint
(Optional) maximum range of pixels to explore to optimize a mask.
- n_binint
(Optional) number of datapoints to bin to compare the precision between pixel mask sizes.
Returns
The function rewrites the self.fg_flux attribute to have the optimized photometry. It also rewrites the self.photometry_mask containing the optimized mask.
- periodogram(table='None', time='None', save=False, plot=True)
Creates Lomb-Scargle periodogram plots for all fitted Gaussian or quick fit parameters.
Parameters
- tablenp.array
(Optional) Here, the user can input either the Gaussian fitting results of the quick fitting results as an astropy table. Note that the table has to have exactly seven columns with ordered columns representing amplitude, x_mean, y_mean, x_stddev, y_stddev, theta, and offset. If ignored, the fg_time will be taken from
self.gaussfit_results.- timenp.array
(Optional) The guidestar time array. If ignored, the fg_time will be taken from
self.fg_time.- saveboolean
(Optional) This parameter will determine whether or not to save the output periodogram as a png.
- plotboolean
(Optional) Turn on or off the ability to plot.
Returns
This function returns a matplotlib
axesobject. Each periodogram plot for each of the fitted parameters are accessed through theaxesobject. For example:>>> ax[0].text('amplitude') >>> ax[1].text('x_mean') >>> ax[2].text('y_mean') >>> ax[3].text('x_stddev') >>> ax[4].text('y_stddev') >>> ax[5].text('theta') >>> ax[6].text('offset')
Additionally, the results from the periodogram analysis can be accessed through attributes as astropy tables:
>>> self.pgram_results
The individual parameters can be accessed through attributes for usability.
- quick_fit(fg_array='None', save=False)
The function
quick_fitfits the x and y pixel locations and standard deviations of a guidestar spatial array using centroid and variance calculations. This function is ‘quicker’ thangauss2d_fit. However, it is less accuarate and does not fit for offset or theta. The amplitude is calculated by simply measuring the brightest pixel in each guidestar frame.Parameters
- fg_arraynp.array
(Optional) The spatial array can be changed into a user-defined input guidestar array for the fitting process.
- saveboolean
(Optional) This parameter will determine whether or not to save the output Gaussian fit table as a
.datdata file. If ignored,quick_fitwill not save as a data file.
Returns
The results from the quick fitting will be saved into the following attribute as an astropy table:
self.quickfit_results. This function will also return an astropy table of the results.
- readfile(pid, obs_num='None', visit='None')
This function opens a singular FG-GS guidestar FITS and writes attributes for
self.fg_array,self.fg_time, andself.flux. Note that if a program ID is previously loaded usingload, the attributes already created will be overwritten. Currently,readfiledoes not createfg_tableandobject_propertiesattributes.Parameters
- param dir:
(optional, string) The parameter “dir” allows the user to change the directory of the script. Changing the directory dictates where the class loads, creates folders, and save data and results. If ignored, “load” will save the current directory as an attribute for use with other functions.
- param pid:
(optional, int or string) An Python
intorstringof the Program ID for a given JWST program (i.e.: 1296, ‘1296’). Program IDs that are publicly avaliable are able to be accessed. Program IDs with exclusive rights will not be accessible unless the user has a MAST API token containing the rights to the program ID. The MAST API token must be entered with param “token” to use programs marked with exclusive rights. The program ID needs to be entered to use all of functions in “load”. However, the pid can be ignored to use specific functions within the class, though functionality will be severely limited. You can also forgo inputting the program ID to create a ‘blank’ object, then later input data for a pid using the functiondownloadgivenpidand the following parameters. For example:>>> spk = spelunker.load() >>> spk.download(pid=1534)
- param obs_num:
(optional, int or string) The integer or string of the observation number of a program ID. Inputting the observation number will filter the auxiliary FITS to only include the files with the given number before downloading all files. Note that when you specifify the observation number, you must also input the
pid.- param visit:
(optional, int or string) The visit parameter requires a Python
intorstring. Inputting the visit number will fillter the auxiliary FITS to only include the files with the given parameter before downloading all files.
Returns
The
readfilefunction creates attributes for frame by frame flux timeseries of a guidestar, as well as a time array, and spatial array. Other data that are created as attributes includes a table of the metadata for a selected program ID and object properties, which includes stellar properties of guidestars present within the program. Other attributes are created and recorded using the processed guidestar data, such asself.datamodelthat stores the objects for the JWST datamodel for each opened FITS andself.photometry_mask. Example usage:>>> self.fg_array; self.fg_flux; self.fg_time; self.object_properties
- save(suffix=None)
This function saves all the time-series information available from the guidestar in an easy-to-read format. Right now works only for the case on which one has a single guidestar:
Parameters
- param suffix:
(optional, string)
String that will be added in front of the output filename.
Returns
This function saves outputs to a .txt file.
- stitcher(fg_timeseries)
Stitches multiple of JWST objects together and creates a data array from the guidestar frames.
Parameters
- fg_timeserieslist
(Mandatory) This list should include JWST datamodel objects in each element.
Returns
The function creates an np.array of guidestar frames.
- table()
This function takes the guidestar ID from
self.fg_tableand adds essential information to a new table such as stellar properties, GAIA IDs, and magnitudes.Parameters
No function parameters, but takes the self.fg_table attribute as an input.
Returns
This function returns a new table that includes the information from
self.tablealong with the added stellar properties as apandastable.
- time_sort_preprocessing(fg_array, fg_time, fg_flux)
Sorts the three arrays by ascending order of the values in
fg_time, regardless of filename or file order.Parameters
- fg_arraynp.array
(Mandatory) The spatial array of guidestar data. This must have a shape of (X, 8, 8), with X being the number of elements in the array.
- fg_timenp.array
(Mandatory) The time array of guidestar data. This must have a shape of (X,), with X being the number of elements in the array.
- fg_fluxnp.array
(Mandatory) The flux array of guidestar data. This must have a shape of (X,), with X being the number of elements in the array.
Returns
Three numpy arrays that are sorted by
fg_timein ascending order.
- time_to_sec(fg_time)
This function converts the values in
fg_timefrom mjd epoch time to elapsed guidestar time in seconds.Parameters
- fg_timenp.array
(Mandatory) The guidestar time array.
Returns
A new numpy array
np.arrayis returned containing the converted time values in elapsed guidestar time in seconds.
- timelapse_animation(fg_array='None', start=0, stop=-1, interval=100, filename='movie.gif')
Creates an animation of a timeseries for a fg_array.
Parameters
- fg_arraynp.array
(Optional) The guidestar spatial array. If ignored, the fg_array will be taken from
self.fg_array.- startint
(Optional) The starting index for animation to start within
fg_array.- endint
(Optional) The ending index for animation to end within
fg_array.- intervalint
(Optional) The delay between frames in milliseconds, according to
matplotlib.animation.ArtistAnimation.
Returns
The animation saves as a specified file, either as
.mp4or.gif.
- timescale(fg_time, fg_time_sec)
Creates scaling to convert time from seconds to minutes, hours, or mjd based on the elapsed time.
Parameters
- fg_timenp.array
(Mandatory) The guidestar time array.
- fg_time_secnp.array
(Mandatory) The guidestar time array in seconds.
Returns
A string and converted time returned based on how much time has elapsed.
- timeseries_binned_plot(fg_time='None', fg_flux='None', start_time='None', end_time='None', n_bins=96)
Creates a matplotlib plot of the guidestar flux timeseries along with the binned flux timeseries.
Parameters
- fg_timenp.array
(Optional) The guidestar time array with the same shape as the guidestar flux array. If ignored, the fg_time will be taken from
self.fg_time.- fg_fluxnp.array
(Optional) The guidestar flux array with the same shape as the guidestar time array. If ignored, the fg_flux will be taken from
self.fg_flux.- start_timefloat
(Optional) A specified left bound for the time component of the timeseries. The float must in the modified julian day (mjd) format. The
start_timerepresents when the timeseries will start in the created plot.- end_timefloat
(Optional) A specified right bound for the time component of the timeseries. The float must in the modified julian day (mjd) format. The
end_timerepresents when the timeseries will end in the created plot.- n_binsint
(Optional) Controls the number of bins for the plotted timeseries.
Returns
This function will output a plot of the binned flux timeseries. Additionally, the functions returns the timeseries as a matplotlib
axesobject.
- timeseries_list_plot(table='None', fg_time='None', start_time='None', end_time='None')
After Gaussian fitting with
gauss2d_fit, this function will plot each of the Gaussian parameters as a timeseries. This function can also handle quick fit fitting with the following example:>>> spk.timeseries_list_plot(table=spk.quickfit_results)
Parameters
- tablenp.array
(Optional) Here, the user can input either the Gaussian fitting results of the quick fitting results as an astropy table. Note that the table has to have exactly seven columns with ordered columns representing amplitude, x_mean, y_mean, x_stddev, y_stddev, theta, and offset. If ignored, the fg_time will be taken from
self.gaussfit_results.- fg_timenp.array
(Optional) The guidestar time array. If ignored, the fg_time will be taken from
self.fg_time.- start_timefloat
(Optional) A specified left bound for the time component of the timeseries plots. The float must in the modified julian day (mjd) format. The
start_timerepresents when the timeseries will start in the created plot.- end_timefloat
(Optional) A specified right bound for the time component of the timeseries plots. The float must in the modified julian day (mjd) format. The
end_timerepresents when the timeseries will end in the created plot.
Returns
This function will output a figure of seven timeseries plots for each of the Gaussian fitting parameters. Additionally, the functions returns the plot as a matplotlib
axesobject. Each plot within the figure can be manipulated using theaxesobject. For instance:>>> ax[0,0].set_title('Centroid_x') >>> ax[1,0].set_title('stddev_x') >>> ax[0,1].set_title('Centroid_y') >>> ax[1,1].set_title('stddev_x') >>> ax[2,0].set_title('amplitude') >>> ax[2,1].set_title('theta') >>> ax[3,0].set_title('offset')