Simple Timepoints Stitcher (v2.0)

About this version

  • Submitter: keighrim
  • Submission Time: 2024-05-06T16:13:55+00:00
  • Prebuilt Container Image: ghcr.io/clamsproject/app-simple-timepoints-stitcher:v2.0
  • Release Notes

    Major update to add

    • experimental CLI. CLI shares the same parameters specified in the app metadata. Try python cli.py --help!
    • added presets for complex labelMap parameter. Find out about labelMapPreset parameter in the metadata.

About this app (See raw metadata.json)

Stitches a sequence of TimePoint annotations into a sequence of TimeFrame annotations, performing simple smoothing of short peaks of positive labels.

Inputs

(Note: “*” as a property value means that the property is required but can be any value.)

One of the following is required: [

]

  • http://mmif.clams.ai/vocabulary/TimePoint/v4 (required)
    • timePoint = “*”
    • classification = “*”

    TimePoint annotations to be stitched. Must be “exhaustive” in that it should cover an entire single time period in the input document, with a uniform sample rate.

Configurable Parameters

(Note: Multivalued means the parameter can have one or more values.)

  • labelMap: optional, defaults to []

    • Type: map
    • Multivalued: True

    mapping of labels in the input annotations to new labels. Must be formatted as “IN_LABEL:OUT_LABEL” (with a colon). To pass multiple mappings, use this parameter multiple times. By default, all the input labels are passed as is, including any “negative” labels (with default value being no remapping at all). However, when at least one label is remapped, all the other “unset” labels are discarded as the negative label(“-“).

  • minTFDuration: optional, defaults to 1000

    • Type: integer
    • Multivalued: False

    minimum duration of a TimeFrame in milliseconds

  • minTPScore: optional, defaults to 0.1

    • Type: number
    • Multivalued: False

    minimum score of a TimePoint to be considered as positive

  • minTFScore: optional, defaults to 0.5

    • Type: number
    • Multivalued: False

    minimum average score of TimePoints in a TimeFrame to be considered as positive

  • labelMapPreset: optional, defaults to null

    • Type: string
    • Multivalued: False
    • Choices: null, swt-v4-4way, swt-v4-6way

    preset of label mappings. If not null, this parameter will override the labelMap parameter. Available presets are:
    - null: None
    - swt-v4-4way: ['B:bars', 'S:slate', 'S-H:slate', 'S-C:slate', 'S-D:slate', 'S-G:slate', 'I:chyron', 'N:chyron', 'Y:chyron', 'C:credit', 'R:credit']
    - swt-v4-6way: ['B:bars', 'S:slate', 'S-H:slate', 'S-C:slate', 'S-D:slate', 'S-G:slate', 'I:chyron', 'N:chyron', 'Y:chyron', 'C:credit', 'R:credit', 'E:other_text', 'K:other_text', 'G:other_text', 'T:other_text', 'F:other_text', 'W:other_opening', 'L:other_opening', 'O:other_opening', 'M:other_opening']

  • pretty: optional, defaults to false

    • Type: boolean
    • Multivalued: False
    • Choices: false, true

    The JSON body of the HTTP response will be re-formatted with 2-space indentation

Outputs

(Note: “*” as a property value means that the property is required but can be any value.)

(Note: Not all output annotations are always generated.)

  • http://mmif.clams.ai/vocabulary/TimeFrame/v5
    • timeUnit = “milliseconds”
    • label = “*”
    • representatives = “*”

    Stitched TimeFrame annotations. Each TimeFrame annotation represents a continuous segment of timepoints and its label property is determined by the labelMap parameter (see parameters section). The representatives is a singleton list of the TimePoint annotation that has the highest score in the TimeFrame.