Skip to content

Integrity protections matching loaded data with paramset #88

@CBroz1

Description

@CBroz1

Current

A user could

imaging.ProcessingParamSet.insert_new_params(
    processing_method='suite2p', 
    paramset_idx=1, 
    params=my_params_dict,
    paramset_desc='my description'
)
imaging.ProcessingTask.insert1(dict(
    **scan_key,
    paramset_idx=1, 
    processing_output_dir='/my/dir'
))
  • If my_dir exists, we load the results regardless of whether or not the output in this directory matches paramset_idx=1.
  • If the paramset were wrong, this would result in a mismatch of params and analyses which is not aligned with general DataJoint integrity protection principles.
  • If my_dir was a previous analysis, but the user might mistakenly load instead of trigger a new analysis.

Future

  1. Minor fix: when loading, check that every item specified in the paramset is true of the relevant directory.
  2. Major fix: position 'load vs. trigger' upstream of ProcessingParamset and always trigger insert_new_params when loading existing results.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions