Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions specparam/modes/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"""Functionality related to definining fit modes."""
30 changes: 30 additions & 0 deletions specparam/modes/definitions.py
Original file line number Diff line number Diff line change
Expand Up @@ -148,3 +148,33 @@
'skewed_gaussian' : pe_skewnorm,
'cauchy' : pe_cauchy,
}

###################################################################################################
## ALL MODES

# Collect a store of all available modes
MODES = {
'aperiodic' : AP_MODES,
'periodic' : PE_MODES,
}


def check_modes(component, check_params=False):
"""Check the set of modes that are available.

Parameters
----------
component : {'aperiodic', 'periodic'}
Which component to check available modes for.
check_params : bool, optional, default: False
Whether to print out information on the parameters of each mode.
"""

print('Available {:s} modes:'.format(component))
for mode in MODES[component].values():
if not check_params:
print(' {:10s} {:s}'.format(mode.name, mode.description))
else:
print('\n{:s}'.format(mode.name))
print(' {:s}'.format(mode.description))
mode.check_params()
5 changes: 2 additions & 3 deletions specparam/modes/mode.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,6 @@ def n_params(self):
def check_params(self):
"""Check the description of the parameters for the current mode."""

print('Parameters for the {} component in {} mode:'.format(\
self.component, self.name))
print('Parameters for the {} mode:'.format(self.name))
for pkey, desc in self.params.descriptions.items():
print('\t{:15s} {:s}'.format(pkey, desc))
print(' {:15s} {:s}'.format(pkey, desc))
11 changes: 11 additions & 0 deletions specparam/tests/modes/test_definitions.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
"""Tests for specparam.modes.definitions."""

from specparam.modes.definitions import *

###################################################################################################
###################################################################################################

def test_check_modes():

check_modes('aperiodic')
check_modes('periodic')