Task_file Module

class TaskFile(const)

The TaskFile class is class for creating TaskFile files for different tasks :param const: module for constants

class ActionObservation(const)

Bases: TaskFile

The TaskFile class is class for creating TaskFile files for different tasks :param const: module for constants

make_task_file(run_number=None, task_dur=30, trial_dur=14, iti_dur=1, file_name=None, knot_names=['Adage', 'Brigand', 'Brocade', 'Casement', 'Cornice', 'Flora', 'Frontage', 'Gadfly', 'Garret', 'Mutton', 'Placard', 'Purser'])
class ActionPrediction(const)

Bases: TaskFile

The TaskFile class is class for creating TaskFile files for different tasks :param const: module for constants

make_task_file(hand='right', responses=[1, 2], run_number=None, task_dur=30, trial_dur=5, iti_dur=1, question_dur=4, file_name=None, stim_file=None, condition=None, stimulus_seed=None, exclude_stimuli=None, stim=None)
stim (list or None): If provided, use only these video names (in order) instead of

stimulus_seed or run_number sampling. Overrides seeding and row slicing.

class Affective(const)

Bases: TaskFile

The TaskFile class is class for creating TaskFile files for different tasks :param const: module for constants

make_task_file(task_dur=30, trial_dur=1.6, iti_dur=0.4, file_name=None, run_number=None, hand='left', responses=[3, 4])
class AuditoryNarrative(const)

Bases: TaskFile

The TaskFile class is class for creating TaskFile files for different tasks :param const: module for constants

make_task_file(task_dur=30, trial_dur=30, iti_dur=0, file_name=None, run_number=None)
class DegradedPassage(const)

Bases: TaskFile

The TaskFile class is class for creating TaskFile files for different tasks :param const: module for constants

make_task_file(run_number=None, task_dur=30, trial_dur=14.5, iti_dur=0.5, file_name=None)
class DemandGrid(const)

Bases: TaskFile

The TaskFile class is class for creating TaskFile files for different tasks :param const: module for constants

generate_sequence(grid_size, num_steps, num_boxes_lit)

Generate the original sequence of lit-up boxes, ensuring adjacency between boxes in each step and no reuse of positions across the entire sequence.

Parameters:
  • grid_size (tuple) – Size of the grid (rows, cols).

  • num_steps (int) – Number of steps in the sequence.

  • num_boxes_lit (int) – Number of boxes lit up per step.

Returns:

list – Original sequence of steps, where each step is a list of positions.

get_adjacent_positions(pos, grid_size)

Get all adjacent positions within the grid boundaries.

Parameters:
  • pos (tuple) – Current position (x, y).

  • grid_size (tuple) – Size of the grid (rows, cols).

Returns:

list – List of adjacent positions.

make_task_file(hand='right', responses=[1, 2], grid_size=(3, 4), num_steps=3, num_boxes_lit=2, task_dur=30, trial_dur=7, question_dur=3, sequence_dur=4, iti_dur=0.5, file_name=None)

Create a task file with the specified parameters.

Parameters:
  • hand (str) – Hand used for response (‘right’ or ‘left’).

  • responses (list) – Response keys for left and right.

  • grid_size (tuple) – Size of the grid (rows, cols).

  • num_steps (int) – Number of steps in the sequence.

  • num_boxes_lit (int) – Number of boxes lit up per step.

  • task_dur (float) – Total task duration in seconds.

  • trial_dur (float) – Duration of each trial.

  • question_dur (float) – Duration of the question phase.

  • sequence_dur (float) – Duration of the sequence presentation phase.

  • iti_dur (float) – Inter-trial interval duration.

  • file_name (str) – Name of the file to save the task data.

Returns:

pd.DataFrame – Task information as a DataFrame.

modify_sequence(sequence, grid_size)

Modify the original sequence to create a new sequence for comparison, ensuring adjacency and uniqueness within the modified step. If a step cannot be modified due to lack of valid adjacent positions, try another step.

The modified sequence is constrained to have the same number of connected components as the original, so the distractor is not visually distinguishable by spatial continuity alone.

Parameters:
  • sequence (list) – Original sequence of steps.

  • grid_size (tuple) – Size of the grid (rows, cols).

Returns:

list – Modified sequence of steps.

class FauxPas(const)

Bases: TaskFile

The TaskFile class is class for creating TaskFile files for different tasks :param const: module for constants

make_task_file(hand='right', responses=[1, 2], run_number=None, task_dur=30, trial_dur=14, iti_dur=1, story_dur=10, question1_dur=4, text_height=1.25, file_name=None, stim_file=None, condition=None, half=None, stimulus_seed=None, exclude_stimuli=None)
class FingerRhythmic(const)

Bases: TaskFile

The TaskFile class is class for creating TaskFile files for different tasks :param const: module for constants

make_task_file(hand='right', responses=[1], run_number=None, task_dur=70, trial_dur=35, iti_dur=0, ioi=0.6, file_name=None)
class FingerSequence(const)

Bases: TaskFile

The TaskFile class is class for creating TaskFile files for different tasks :param const: module for constants

generate_sequence()
make_task_file(hand='bimanual', responses=[1, 2, 3, 4], task_dur=30, trial_dur=3.25, iti_dur=0.5, file_name=None)
class FlexionExtension(const)

Bases: TaskFile

The TaskFile class is class for creating TaskFile files for different tasks :param const: module for constants

make_task_file(task_dur=30, trial_dur=30, iti_dur=0, stim_dur=2, file_name=None)
class FrithHappe(const)

Bases: TaskFile

The TaskFile class is class for creating TaskFile files for different tasks :param const: module for constants

make_task_file(hand='right', responses=[1, 2, 3], run_number=None, task_dur=30, trial_dur=28, iti_dur=2, question_dur=6, file_name=None, stim_file=None, condition=None)
class IntactPassage(const)

Bases: TaskFile

The TaskFile class is class for creating TaskFile files for different tasks :param const: module for constants

make_task_file(run_number, task_dur=30, trial_dur=14.5, iti_dur=0.5, file_name=None)
class Liking(const)

Bases: TaskFile

The TaskFile class is class for creating TaskFile files for different tasks :param const: module for constants

make_task_file(hand='right', responses=[1, 2], run_number=None, task_dur=30, trial_dur=28, iti_dur=1, question_dur=3, file_name=None, stim_file=None, condition=None)
map_to_4point_scale(rating)

Map the liking rating from a 1-to-5 scale to the closest value on a 4-point scale (to be used in the scanner with the 4-button box).

Parameters:

rating (float) – The rating on a 1-to-5 scale (can include decimals, since it’s an average across online raters).

Returns:

int – The closest value on the 4-point scale (1, 2, 3, or 4).

# Example usage: rating = 3.7 closest_value = map_to_4point_scale(rating) print(f”The 1-to-5 rating {rating} maps closest to {closest_value} on the 4-point scale.”)

class Movie(const)

Bases: TaskFile

The TaskFile class is class for creating TaskFile files for different tasks :param const: module for constants

make_task_file(run_number=None, task_dur=30, trial_dur=30, iti_dur=0, file_name=None, stim_file=None, condition=None)
class NBack(const)

Bases: TaskFile

The TaskFile class is class for creating TaskFile files for different tasks :param const: module for constants

make_task_file(hand='right', responses=[1, 2], task_dur=30, trial_dur=2, iti_dur=0.5, picture_scale=1.0, stim=['9.jpg', '11.jpg', '18.jpg', '28.jpg'], file_name=None)
class NonwordReading(const)

Bases: TaskFile

The TaskFile class is class for creating TaskFile files for different tasks :param const: module for constants

make_task_file(run_number=None, task_dur=30, trial_dur=5.8, iti_dur=0.2, file_name=None, stim_file=None)
class OddBall(const)

Bases: TaskFile

The TaskFile class is class for creating TaskFile files for different tasks :param const: module for constants

make_task_file(hand='right', responses=[1, 2], task_dur=30, trial_dur=0.15, iti_dur=0.85, file_name=None)
class PictureSequence(const)

Bases: TaskFile

The TaskFile class is class for creating TaskFile files for different tasks :param const: module for constants

generate_sequence()
make_task_file(hand='right', responses=[1, 2, 3, 4], run_number=None, task_dur=30, trial_dur=14, iti_dur=1, file_name=None, stim_file=None, condition=None)
class Pong(const)

Bases: TaskFile

The TaskFile class is class for creating TaskFile files for different tasks :param const: module for constants

make_task_file(hand='bimanual', responses=[3, 4], task_dur=30, trial_dur=3.25, iti_dur=0.5, file_name=None, run_number=None)
class RMET(const)

Bases: TaskFile

The TaskFile class is class for creating TaskFile files for different tasks :param const: module for constants

make_task_file(hand='right', responses=[1, 2, 3, 4], run_number=None, task_dur=30, trial_dur=6, iti_dur=1.5, option_text_height=1.2, option_position_scale=1.0, show_last_seconds=0, file_name=None, stim_file=None, condition=None, half=None, stimulus_seed=None, exclude_stimuli=None, stim=None)
class Rest(const)

Bases: TaskFile

The TaskFile class is class for creating TaskFile files for different tasks :param const: module for constants

make_task_file(task_dur=30, file_name=None)
class SemanticPrediction(const)

Bases: TaskFile

The TaskFile class is class for creating TaskFile files for different tasks :param const: module for constants

make_task_file(hand='right', responses=[1, 2], run_number=None, task_dur=30, trial_dur=15, sentence_dur=2, file_name=None, stim_file=None, stimulus_seed=None, exclude_stimuli=None, stim=None)
class SemanticSwitching(const)

Bases: TaskFile

The TaskFile class is class for creating TaskFile files for different tasks :param const: module for constants

make_task_file(hand='right', responses=[1, 2], run_number=None, task_dur=30, trial_dur=15, sentence_dur=2, file_name=None, stim_file=None, stimulus_seed=None, exclude_stimuli=None, stim=None)
stim (list or None): If provided, use only these sentence strings (in order) instead of

stimulus_seed or run_number sampling. Overrides seeding and row slicing.

class SensMotControl(const)

Bases: TaskFile

The TaskFile class is class for creating TaskFile files for different tasks :param const: module for constants

make_task_file(hand='right', responses=[1, 2], run_number=None, task_dur=300, trial_dur=3, question_dur=2, iti_dur=1, file_name=None, stim_file=None, condition=None)
class SentenceReading(const)

Bases: TaskFile

The TaskFile class is class for creating TaskFile files for different tasks :param const: module for constants

make_task_file(run_number=None, task_dur=30, trial_dur=5.8, iti_dur=0.2, file_name=None, stim_file=None)
class SerialReactionTime(const)

Bases: TaskFile

The TaskFile class is class for creating TaskFile files for different tasks :param const: module for constants

make_task_file(hand='bimanual', responses=[1, 2, 3, 4], task_dur=30, initial_wait=1.0, trial_dur=0.5, iti_dur=1.0, file_name=None)
class SpatialNavigation(const)

Bases: TaskFile

The TaskFile class is class for creating TaskFile files for different tasks :param const: module for constants

make_task_file(task_dur=30, trial_dur=30, iti_dur=0, file_name=None, run_number=None)
class StorySequence(const)

Bases: TaskFile

The TaskFile class is class for creating TaskFile files for different tasks :param const: module for constants

generate_sequence()
make_task_file(hand='right', responses=[1, 2, 3, 4], run_number=None, task_dur=30, trial_dur=14, iti_dur=1, file_name=None, stim_file=None, condition=None)
class StrangeStories(const)

Bases: TaskFile

The TaskFile class is class for creating TaskFile files for different tasks :param const: module for constants

make_task_file(hand='right', responses=[1, 2, 3], run_number=None, task_dur=30, trial_dur=30, iti_dur=0, answer_dur=5, file_name=None, stim_file=None, condition=None, half=None)
class TaskFile(const)

Bases: object

The TaskFile class is class for creating TaskFile files for different tasks :param const: module for constants

class TheoryOfMind(const)

Bases: TaskFile

The TaskFile class is class for creating TaskFile files for different tasks :param const: module for constants

make_task_file(hand='right', responses=[1, 2], run_number=None, task_dur=30, trial_dur=14, iti_dur=1, story_dur=10, question_dur=4, text_height=1.25, file_name=None, stim_file=None, condition=None, stimulus_seed=None, exclude_stimuli=None, stim=None)
class TimePerception(const)

Bases: TaskFile

The TaskFile class is class for creating TaskFile files for different tasks :param const: module for constants

make_task_file(modality='time', responses=[1, 2], n_trials=30, trial_dur=4, iti_dur=1.0, question_dur=2.0, display_feedback=True, run_number=None, file_name=None, **unused)
class TongueMovement(const)

Bases: TaskFile

The TaskFile class is class for creating TaskFile files for different tasks :param const: module for constants

make_task_file(task_dur=30, trial_dur=1, iti_dur=0, file_name=None)
class VerbGeneration(const)

Bases: TaskFile

The TaskFile class is class for creating TaskFile files for different tasks :param const: module for constants

make_task_file(task_dur=30, trial_dur=2, iti_dur=0.5, file_name=None, stim_file=None)
class VisualSearch(const)

Bases: TaskFile

The TaskFile class is class for creating TaskFile files for different tasks :param const: module for constants

make_task_file(hand='right', responses=[1, 2], task_dur=30, trial_dur=2, iti_dur=0.5, easy_prob=0.5, file_name=None)
add_start_end_times(dataframe, offset, task_dur, run_time=None)

adds start and end times to the dataframe

Parameters:
  • dataframe (dataframe) – dataframe to be shuffled

  • offset (float) – offset of the task

  • task_dur (float) – duration of the task

  • run_time (float) – Time (in seconds) that the run should last. Use this to ensure the last task runs until the end of the imaging run

Returns:

dataframe (dataframe) – dataframe with start and end times

get_task_class(name)

Creates an object of the task class based on the task name :param name: name of the task :type name: str

Returns:

class_name (str) – class name for task

make_run_file(task_list, tfiles, offset=0, instruction_dur=5, task_dur=30, run_time=None, keep_in_middle=None)

Make a single run file

move_edge_tasks_to_middle(dataframe, keep_in_middle)

Moves tasks that should be kept in the middle and are at the edge of the dataframe to the middle of the dataframe :param dataframe: dataframe to be shuffled :type dataframe: dataframe :param keep_in_middle: list of tasks that should be kept in the middle :type keep_in_middle: list

Returns:

dataframe (dataframe) – shuffled dataframe

shuffle_rows(dataframe, keep_in_middle=None)

randomly shuffles rows of the dataframe

Parameters:
  • dataframe (dataframe) – dataframe to be shuffled

  • keep_in_middle (list) – list of tasks that should be kept in the middle

Returns:

dataframe (dataframe) – shuffled dataframe