class DepthEstimationParams(DefaultSchema): hi_noise_thresh = Float(required=True, default=50.0, help='Max RMS noise for including channels') lo_noise_thresh = Float(required=True, default=3.0, help='Min RMS noise for including channels') save_figure = Bool(required=True, default=True) figure_location = OutputFile(required=True, default=None) smoothing_amount = Int( required=True, default=5, help='Gaussian smoothing parameter to reduce channel-to-channel noise') power_thresh = Float( required=True, default=2.5, help= 'Ignore threshold crossings if power is above this level (indicates channels are in the brain)' ) diff_thresh = Float( required=True, default=-0.07, help='Threshold to detect large increases is power at brain surface') freq_range = NumpyArray( required=True, default=[0, 10], help='Frequency band for detecting power increases') max_freq = Int(required=True, default=150, help='Maximum frequency to plot') channel_range = NumpyArray( required=True, default=[370, 380], help='Channels assumed to be out of brain, but in saline') n_passes = Int( required=True, default=10, help='Number of times to compute offset and surface channel') skip_s_per_pass = Int( required=True, default=100, help='Number of seconds between data chunks used on each pass') start_time = Float( required=True, default=0, help='First time (in seconds) for computing median offset') time_interval = Float(required=True, default=5, help='Number of seconds for computing median offset') nfft = Int(required=True, default=4096, help='Length of FFT used for calculations') air_gap = Int( required=True, default=100, help='Approximate number of channels between brain surface and air')
class MySchema(ArgSchema): a = NumpyArray(dtype='float', description='Test input array schema', validate=validate.Shape((2, 2))) b = NumpyArray(dtype='float', description='Test array', validate=validate.Shape((2, None)))
class MyNestedParameters(DefaultSchema): name = Str(required=True, description='name of vector') increment = Int(required=True, description='value to increment') array = NumpyArray(dtype=np.float, required=True, description='array to increment') write_output = Boolean(required=False, default=True)
class InputParameters(ArgSchema): output_dir = OutputDir( default="./", description="Directory in which to store data output files") input_source = InputFile(description="Path to input movie", required=True) pupil_bounding_box = NumpyArray(dtype="int", default=[]) cr_bounding_box = NumpyArray(dtype="int", default=[]) start_frame = Int(description="Frame of movie to start processing at") stop_frame = Int(description="Frame of movie to end processing at") frame_step = Int(description=( "Interval of frames to process. Used for skipping frames," "if 1 it will process every frame between start and stop")) ransac = Nested(RansacParameters) annotation = Nested(AnnotationParameters) starburst = Nested(StarburstParameters) eye_params = Nested(EyeParameters) qc = Nested(QCParameters)
class OutputParameters(OutputSchema): execution_time = Float() kilosort_commit_hash = String() kilosort_commit_date = String() mask_channels = NumpyArray() nTemplate = Int() nTot = Int()
class ProbeInputParameters(DefaultSchema): name = String(required=True, help='Identifier for this probe') lfp_input_file_path = String(required=True, description="path to original LFP .dat file") lfp_timestamps_input_path = String(required=True, description="path to LFP timestamps") lfp_data_path = String(required=True, help="Path to LFP data continuous file") lfp_timestamps_path = String( required=True, help="Path to LFP timestamps aligned to master clock") lfp_channel_info_path = String(required=True, help="Path to LFP channel info") total_channels = Int(default=384, help='Total channel count for this probe.') surface_channel = Int(required=True, help="Probe surface channel") reference_channels = NumpyArray(required=False, help="Probe reference channels") lfp_sampling_rate = Float(required=True, help="Sampling rate of LFP data") noisy_channels = NumpyArray(required=False, help="Noisy channels to remove")
class EphysParams(DefaultSchema): sample_rate = Float(required=True, default=30000.0, help='Sample rate of Neuropixels AP band continuous data') lfp_sample_rate = Float(require=True, default=2500.0, help='Sample rate of Neuropixels LFP band continuous data') bit_volts = Float(required=True, default=0.195, help='Scalar required to convert int16 values into microvolts') num_channels = Int(required=True, default=384, help='Total number of channels in binary data files') reference_channels = NumpyArray(required=False, default=[36, 75, 112, 151, 188, 227, 264, 303, 340, 379], help='Reference channels on Neuropixels probe (numbering starts at 0)') template_zero_padding = Int(required=True, default=21, help='Zero-padding on templates output by Kilosort') vertical_site_spacing = Float(required=False, default=20e-6, help='Vertical site spacing in meters') probe_type = String(required=False, default='3A', help='3A, 3B1, or 3B2') lfp_band_file = String(required=False, help='Location of LFP band binary file') ap_band_file = String(required=False, help='Location of AP band binary file')
class MySchema(ArgSchema): array = NumpyArray(default=[[1, 2, 3], [4, 5, 6]], dtype="uint8", description="my example array") string_list = List(List(Str), default=[["hello", "world"], ["lists!"]], cli_as_single_argument=True, description="list of lists of strings") int_list = List(Int, default=[1, 2, 3], cli_as_single_argument=True, description="list of ints") nested = Nested(MyNestedSchema, required=True)
class OutputParameters(DefaultSchema): inputs = Nested( PiaWmStreamlineSchema, description="The parameters argued to this executable", required=True ) depth_field_file = OutputFile( required=True, description='location of depth field xarray') gradient_field_file = OutputFile( required=True, description='location of gradient field xarray') translation = NumpyArray( required=False, description='translation if applied')
class regularization(ArgSchema): default_lambda = Float( default=0.005, description='regularization factor') translation_factor = Float( default=0.005, description='regularization factor') poly_factors = NumpyArray( Float, required=False, default=None, missing=None, cli_as_single_argument=True, description=("List of regularization factors by order (0, 1, ..., n)" "will override other settings for Polynomial2DTransform" "will multiply default_lambda")) freeze_first_tile = Boolean( default=False, required=False)
class EphysParams(DefaultSchema): sample_rate = Float( required=True, default=30000.0, help='Sample rate of Neuropixels AP band continuous data') lfp_sample_rate = Float( require=True, default=2500.0, help='Sample rate of Neuropixels LFP band continuous data') bit_volts = Float( required=True, default=0.195, help='Scalar required to convert int16 values into microvolts') num_channels = Int(required=True, default=384, help='Total number of channels in binary data files') reference_channels = NumpyArray( required=False, default=[36, 75, 112, 151, 188, 227, 264, 303, 340, 379], help='Reference channels on Neuropixels probe (numbering starts at 0)') template_zero_padding = Int( required=True, default=21, help='Zero-padding on templates output by Kilosort') vertical_site_spacing = Float(required=False, default=20e-6, help='Vertical site spacing in meters') probe_type = String(required=False, default='NP1', help='3A, 3B2, NP1') lfp_band_file = String(required=False, help='Location of LFP band binary file') ap_band_file = String(required=False, help='Location of AP band binary file') reorder_lfp_channels = Bool( required=False, default=True, help= 'Should we fix the ordering of LFP channels (necessary for 3a probes following extract_from_npx modules)' ) cluster_group_file_name = String(required=False, default='cluster_group.tsv')
class NumpyFileuint16(ArgSchema): a = NumpyArray(dtype='uint16', required=True, decription='list of lists representing numpy array')
class MyOutputSchema(DefaultSchema): a = Str(required=True, description="a simple string") b = Int(default=5, description="a default integer") M = NumpyArray(required=True, description="a numpy array of answers")
class MyOutputParams(DefaultSchema): name = Str(required=True, description='name of vector') inc_array = NumpyArray(dtype=np.float, required=True, description='incremented array')