Change headings to title caps (#62)

This commit is contained in:
pollfly
2021-09-09 13:17:46 +03:00
committed by GitHub
parent de82df937e
commit c2d8707572
77 changed files with 337 additions and 336 deletions

View File

@@ -8,7 +8,7 @@ Metadata can be customized as needed using: **meta** dictionaries:
## Usage
### Adding Frame metadata
### Adding Frame Metadata
When instantiating a Frame, metadata that applies for the entire frame can be
added as an argument.
@@ -28,7 +28,7 @@ frame = SingleFrame(
frame.metadata['dangerous'] = 'no'
```
### Adding ROI metadata
### Adding ROI Metadata
Metadata can be added to individual ROIs when adding an annotation to a `frame`, using the `add_annotation`
method.

View File

@@ -80,7 +80,7 @@ myDataset = DatasetVersion.create_new_dataset(dataset_name='myDataset',
description='some description text')
```
### Accessing current Dataset
### Accessing Current Dataset
To get the current Dataset, use the `DatasetVersion.get_current` method.
@@ -134,7 +134,7 @@ a Dataset version that yields a parent with two children, or when publishing the
Manage Dataset versioning using the DatasetVersion class in the ClearML Enterprise SDK.
### Creating snapshots
### Creating Snapshots
If the Dataset contains only one version whose status is *Draft*, snapshots of the current version can be created.
When creating a snapshot, the current version becomes the snapshot (it keeps the same version ID),
@@ -143,7 +143,7 @@ and the newly created version (with its new version ID) becomes the current vers
To create a snapshot, use the `DatasetVersion.create_snapshot` method.
#### Snapshot naming
#### Snapshot Naming
In the simple version structure, ClearML Enterprise supports two methods for snapshot naming:
* **Timestamp naming** - If only the Dataset name or ID is provided, the snapshot is named `snapshot` with a timestamp
@@ -172,7 +172,7 @@ In the simple version structure, ClearML Enterprise supports two methods for sna
The newly created version (with a new version ID) becomes the current version, and its name is `Current`.
#### Current version naming
#### Current Version Naming
In the simple version structure, ClearML Enterprise supports two methods for current version naming:
@@ -189,7 +189,7 @@ myDataset = DatasetVersion.create_snapshot(dataset_name='MyDataset',
child_name='NewCurrentVersionName')
```
#### Adding metadata and comments
#### Adding Metadata and Comments
Add a metadata dictionary and / or comment to a snapshot.
@@ -201,7 +201,7 @@ myDataset = DatasetVersion.create_snapshot(dataset_name='MyDataset',
child_comment='some text comment')
```
### Creating child versions
### Creating Child Versions
Create a new version from any version whose status is *Published*.
@@ -230,7 +230,7 @@ myVersion = DatasetVersion.create_version(dataset_name='MyDataset',
raise_if_exists=True))
```
### Creating root-level parent versions
### Creating Root-level Parent Versions
Create a new version at the root-level. This is a version without a parent, and it contains no frames.
@@ -239,7 +239,7 @@ myDataset = DatasetVersion.create_version(dataset_name='MyDataset',
version_name='NewRootVersion')
```
### Getting versions
### Getting Versions
To get a version or versions, use the `DatasetVersion.get_version` and `DatasetVersion.get_versions`
methods, respectively.
@@ -279,7 +279,7 @@ myDatasetversion = DatasetVersion.get_version(dataset_name='MyDataset',
version_name='VersionName')
```
### Deleting versions
### Deleting Versions
Delete versions which are status *Draft* using the `Dataset.delete_version` method.
@@ -291,7 +291,7 @@ myDataset.delete_version(version_name='VersionToDelete')
```
### Publishing versions
### Publishing Versions
Publish (make read-only) versions which are status *Draft* using the `Dataset.publish_version` method. This includes the current version, if the Dataset is in
the simple version structure.

View File

@@ -41,7 +41,7 @@ A frame filter contains the following criteria:
Use combinations of these frame filters to build sophisticated queries.
## Debiasing input data
## Debiasing Input Data
Apply debiasing to each frame filter to adjust for an imbalance in input data. Ratios (weights) enable setting the proportion
of frames that are inputted, according to any of the criteria in a frame filter, including ROI labels, frame metadata,
@@ -52,7 +52,7 @@ you want to input the same number of both. To debias the data, create two frame
of `1`, and the other for `nighttime` with a ratio of `5`. The Dataview will iterate approximately an equal number of
SingleFrames for each.
## ROI Label mapping (label translation)
## ROI Label Mapping (Label Translation)
ROI label mapping (label translation) applies to the new model. For example, apply mapping to:
@@ -60,12 +60,12 @@ ROI label mapping (label translation) applies to the new model. For example, app
* Consolidate disparate datasets containing different names for the ROI.
* Hide labeled objects from the training process.
## Class label enumeration
## Class Label Enumeration
Define class labels for the new model and assign integers to each in order to maintain data conformity across multiple
codebases and datasets. It is important to set enumeration values for all labels of importance.
## Data augmentation
## Data Augmentation
On-the-fly data augmentation is applied to SingleFrames, transforming images without creating new data. Apply data augmentation
in steps, where each step is composed of a method, an operation, and a strength as follows:
@@ -99,7 +99,7 @@ in steps, where each step is composed of a method, an operation, and a strength
* 1.0 - Medium (recommended)
* 2.0 - High (strong)
## Iteration control
## Iteration Control
The input data **iteration control** settings determine the order, number, timing, and reproducibility of the Dataview iterating
SingleFrames. Depending upon the combination of iteration control settings, all SingleFrames may not be iterated, and some
@@ -141,7 +141,7 @@ from allegroai import DataView, IterationOrder
myDataView = DataView(iteration_order=IterationOrder.random, iteration_infinite=True)
```
### Adding queries
### Adding Queries
To add a query to a DataView, use the `DataView.add_query` method and specify Dataset versions,
ROI and / or frame queries, and other criteria.
@@ -154,7 +154,7 @@ specify the queries.
Multiple queries can be added to the same or different Dataset versions, each query with the same or different ROI
and / or frame queries.
#### ROI queries:
#### ROI Queries:
* ROI query for a single label
@@ -206,7 +206,7 @@ myDataView.add_query(dataset_name='myDataset', version_name='training',
roi_query='label.keyword:\"Car\" AND NOT label.keyword:\"partly_occluded\"')
```
#### Querying multiple Datasets and versions
#### Querying Multiple Datasets and Versions
This example demonstrates an ROI query filtering for frames containing the ROI labels `car`, `truck`, or `bicycle`
from two versions of one Dataset, and one version of another Dataset.
@@ -234,7 +234,7 @@ myDataView.add_query(dataset_name='dataset_2',
```
#### Frame queries
#### Frame Queries
Use frame queries to filter frames by ROI labels and / or frame metadata key-value pairs that a frame must include or
exclude for the DataView to return the frame.
@@ -252,13 +252,13 @@ myDataView.add_query(dataset_name='myDataset',
```
### Controlling query iteration
### Controlling Query Iteration
Use `DataView.set_iteration_parameters` to manage the order, number, timing, and reproducibility of frames
for training.
#### Iterate frames infinitely
#### Iterate Frames Infinitely
This example demonstrates creating a Dataview and setting its parameters to iterate infinitely until the script is
manually terminated.
@@ -271,7 +271,7 @@ myDataView = DataView()
myDataView.set_iteration_parameters(order=IterationOrder.random, infinite=True)
```
#### Iterate all frames matching the query
#### Iterate All Frames Matching the Query
This example demonstrates creating a DataView and setting its parameters to iterate and return all frames matching a query.
```python
@@ -287,7 +287,7 @@ myDataView.add_query(dataset_name='myDataset',
version_name='myVersion', roi_query='cat')
```
#### Iterate a maximum number of frames
#### Iterate a Maximum Number of Frames
This example demonstrates creating a DataView and setting its parameters to iterate a specific number of frames. If the
Dataset version contains fewer than that number of frames matching the query, then fewer are returned by the iterator.
@@ -301,7 +301,7 @@ myDataView.set_iteration_parameters(
maximum_number_of_frames=5000)
```
### Debiasing input data
### Debiasing Input Data
Debias input data using the `DataView.add_query` method's `weight` argument to add weights. This
is the same `DataView.add_query` that can be used to specify Dataset versions, and ROI queries and frame queries.

View File

@@ -100,7 +100,7 @@ myVersion.update_frames(frames)
```
### Deleting frames
### Deleting Frames
To delete a FrameGroup, use the `DatasetVersion.delete_frames` method, just like when deleting a
SingleFrame, except that a FrameGroup is being referenced.

View File

@@ -30,7 +30,7 @@ See [Example 1](#example-1), which shows `masks` in `sources`, `mask` in `rois`,
a mask to its source in a frame.
## Masks structure
## Masks Structure
The chart below explains the keys and values of the `masks` dictionary (in the [`sources`](sources.md)
section of a Frame).

View File

@@ -19,7 +19,7 @@ list of source IDs. Those IDs connect `sources` to ROIs.
The examples below demonstrate the `sources` section of a Frame for different types of content.
### Example 1: Video sources
### Example 1: Video Sources
This example demonstrates `sources` for video.
@@ -70,7 +70,7 @@ is the source with the ID `front` and the other is the source with the ID `rear`
Sources includes a variety of content types. This example shows mp4 video.
:::
### Example 2: Images sources
### Example 2: Images Sources
This example demonstrates `sources` images.
<details className="cml-expansion-panel info">
@@ -101,7 +101,7 @@ The `sources` of this frame contains the following information:
* `timestamp` is 0 (timestamps are used for video).
### Example 3: Sources and regions of interest
### Example 3: Sources and Regions of Interest
This example demonstrates `sources` for video, `masks`, and `preview`.

View File

@@ -42,30 +42,30 @@ Use annotation tasks to efficiently organize the annotation of frames in Dataset
1. Click **Create**.
### Completing annotation tasks
### Completing Annotation Tasks
To mark an annotation task as **Completed**:
* In the annotation task card, click <img src="/docs/latest/icons/ico-bars-menu.svg" className="icon size-md space-sm" /> (menu) **>** **Complete** **>** **CONFIRM**.
### Deleting annotation tasks
### Deleting Annotation Tasks
To delete an annotation task:
* In the annotation task card, click <img src="/docs/latest/icons/ico-bars-menu.svg" className="icon size-md space-sm" /> (menu) **>** **Delete** **>** **CONFIRM**.
### Filtering annotation tasks
### Filtering Annotation Tasks
There are two option for filtering annotation tasks:
* Active / Completed Filter - Toggle to show annotation tasks that are either **Active** or **Completed**
* Dataset Filter - Use to view only the annotation tasks for a specific Dataset.
### Sorting annotation tasks
### Sorting annotation Tasks
Sort the annotation tasks by either using **RECENT** or **NAME** from the drop-down menu on the top left of the page.
### Viewing annotation task information
### Viewing Annotation Task Information
To View the Dataset version, filters, and iteration information:
@@ -87,7 +87,7 @@ depend upon the settings in the annotation task (see [Creating Annotation Tasks]
1. See instructions below about annotating frames.
#### Add FrameGroup objects
#### Add FrameGroup Objects
1. Select an annotation mode and add the bounded area to the frame image.
@@ -100,63 +100,63 @@ depend upon the settings in the annotation task (see [Creating Annotation Tasks]
1. Optionally, add metadata.
1. Optionally, lock the annotation.
#### Add frame labels
#### Add Frame Labels
1. In **FRAME LABEL**, click **+ Add new**.
1. In the new label area, choose or enter a label.
1. Optionally, add metadata.
1. Optionally, lock the annotation.
#### Copy / paste an annotations
#### Copy / Paste an Annotations
1. Click the annotation or bounded area in the image or video clip.
1. Optionally, navigate to a different frame.
1. Click **PASTE**. The new annotation appears in the same location as the one you copied.
1. Optionally, to paste the same annotation, again, click **PASTE**.
#### Copy / paste all annotations
#### Copy / Paste All Annotations
1. Click **COPY ALL**.
1. Optionally, navigate to a different frame.
1. Click **PASTE**.
#### Move annotations
#### Move Annotations
* Move a bounded area by clicking on it and dragging.
#### Resize annotations
#### Resize Annotations
* Resize a bounded area by clicking on a vertex and dragging.
#### Delete annotations
#### Delete Annotations
1. Click the annotation or bounded area in the image or video clip.
1. Press **DELETE** or in the annotation, click **>X**.
#### Add labels
#### Add Labels
* Click in the annotation and choose a label from the label list, or type a new label.
#### Modify labels
#### Modify Labels
* In the annotation label textbox, choose a label from the list or type a new label.
#### Delete labels
#### Delete Labels
* In the annotation, in the label area, click the label's **X**.
#### Modify annotation metadata
#### Modify Annotation Metadata
* In the label, click edit and then in the popup modify the metadata dictionary (in JSON format).
#### Modify annotation color
#### Modify Annotation Color
* Modify the color of an area by clicking the circle in the label name and select a new color.
#### Lock / unlock annotations
#### Lock / Unlock Annotations
* Click the lock.
#### Modify frame metadata
#### Modify Frame Metadata
* Expand the **FRAME METADATA** area, click edit, and then in the popup modify the metadata dictionary (in JSON format).

View File

@@ -10,7 +10,7 @@ The Datasets page offers the following functionalities:
![image](../../img/hyperdatasets/datasets_01.png)
## Dataset cards
## Dataset Cards
Dataset cards show summary information about versions, frames, and labels in a Dataset, and the elapsed time since the Dataset was last update and the user doing the update. Dataset cards allow you to open a specific Dataset to perform Dataset versioning and frames management.
@@ -26,7 +26,7 @@ Dataset cards show summary information about versions, frames, and labels in a D
To change the label color coding, hover over a label color, click thr hand pointer, and then select a new color.
:::
## Creating new Datasets
## Creating New Datasets
Create a new Dataset which will contain one version named `Current`. The new version will not contain any frames.

View File

@@ -9,7 +9,7 @@ filtering logic.
![Dataset page](../../img/hyperdatasets/frames_01.png)
## Frame viewer
## Frame Viewer
Frame viewer allows you to view and edit annotations which can be FrameGroup objects (Regions of Interest) and FrameGroup
labels applied to the entire frame not a region of the frame, the frame details (see [frames](../frames.md)),
@@ -17,7 +17,7 @@ frame metadata, the raw data source URI, as well as providing navigation and vie
![Frame viewer](../../img/hyperdatasets/web-app/dataset_example_frame_editor.png)
### Frame viewer controls
### Frame Viewer Controls
Use frame viewer controls to navigate between frames in a Dataset Version, and control frame changes and viewing.
@@ -39,14 +39,14 @@ Use frame viewer controls to navigate between frames in a Dataset Version, and c
#### Additional keyboard shortcuts
**General controls**
**General Controls**
|Control|Action|
|----|-----|
|Hold Spacebar + Press and hold image + Drag| Move around image. NOTE: If using a touchpad, this only works if the *Disable touchpad while typing* setting is turned off |
|Esc | Escape frame viewer and return to dataset page |
**General annotation controls**
**General Annotation Controls**
|Control|Action|
|----|-----|
@@ -63,7 +63,7 @@ Use frame viewer controls to navigate between frames in a Dataset Version, and c
| Enter | Key points (<img src="/docs/latest/icons/ico-keypoint-icon-purple.svg" alt="Key points mode" className="icon size-md space-sm" />) | Complete annotation |
| Esc | Key points (<img src="/docs/latest/icons/ico-keypoint-icon-purple.svg" alt="Key points mode" className="icon size-md space-sm" />), Polygon (<img src="/docs/latest/icons/ico-polygon-icon-purple.svg" alt="Polygon mode" className="icon size-md space-sm" />) | Cancel annotation process |
### Viewing and editing frames
### Viewing and Editing Frames
**To view / edit a frame in the frame editor**
@@ -94,8 +94,8 @@ a dropdown list in the **Current Source** section.
![Frame dropdown menu in FrameGroup](../../img/hyperdatasets/framegroup_01.png)
## Filtering frames
### Simple frame filtering
## Filtering Frames
### Simple Frame Filtering
Simple frame filtering applies one annotation object (ROI) label and returns frames containing at least one annotation
with that label.
@@ -130,7 +130,7 @@ For example:
</div>
</details>
### Advanced frame filtering
### Advanced Frame Filtering
Advanced frame filtering applies sophisticated filtering logic, which is composed of as many frame filters as needed,
where each frame filter can be a combination of ROI, frame, and source rules.
@@ -156,7 +156,7 @@ where each frame filter can be a combination of ROI, frame, and source rules.
### Examples
#### ROI rules
#### ROI Rules
* Create one ROI rule for <code>person</code> shows the same three frames as the simple frame filter (above).
@@ -194,7 +194,7 @@ where each frame filter can be a combination of ROI, frame, and source rules.
<br/>
#### Frame rules
#### Frame Rules
Filter by metadata using Lucene queries.
@@ -223,7 +223,7 @@ Filter by metadata using Lucene queries.
<br/>
#### Source rules
#### Source Rules
Filter by sources using Lucene queries.
@@ -243,7 +243,7 @@ Use Lucene queries in ROI label filters and frame rules.
## Annotations
### Frame objects (Regions of Interest)
### Frame Objects (Regions of Interest)
You can add annotations by drawing new bounding areas, and copying existing annotations in the same or other frames.
@@ -288,7 +288,7 @@ You can add annotations by drawing new bounding areas, and copying existing anno
1. Optionally, navigate to a different frame.
1. Click **PASTE**.
### Frame labels
### Frame Labels
**To add frame labels:**
@@ -297,7 +297,7 @@ You can add annotations by drawing new bounding areas, and copying existing anno
1. Enter a label.
1. Optionally, click <img src="/docs/latest/icons/ico-edit.svg" className="icon size-md space-sm" />.
### Annotation management
### Annotation Management
**To move annotations:**
@@ -331,7 +331,7 @@ You can add annotations by drawing new bounding areas, and copying existing anno
* Change - In the annotation label textbox, choose a label from the list or type a new label.
* Delete - In the annotation, in the label area, click the label's **X**.
## Frame metadata
## Frame Metadata
**To edit frame metadata:**

View File

@@ -7,7 +7,7 @@ deleting Dataset versions.
From the Datasets page, click on one of the Datasets in order to see and work with its versions.
### Viewing snapshots
### Viewing Snapshots
View snapshots in the simple version structure using either:
@@ -35,7 +35,7 @@ chronological order, with oldest at the top, and the most recent at the bottom.
</div>
</details>
### Creating snapshots
### Creating Snapshots
To create a snapshot, you must be in the simple (version table) view.
@@ -54,7 +54,7 @@ To create a snapshot, you must be in the simple (version table) view.
The WebApp (UI) does not currently support the automatic naming of snapshots with timestamps appended. You must provide a snapshot name.
:::
### Creating versions
### Creating Versions
To create a version, you must be in the advanced (version tree) view.
@@ -66,7 +66,7 @@ To create a version, you must be in the advanced (version tree) view.
1. Enter a version name, and optionally a description.
1. Click **CREATE**.
### Publishing versions
### Publishing Versions
Publish (make read-only) any Dataset version whose status is *Draft*. If the Dataset is in the simple structure,
and you publish the current version, then only the advanced view is available,
@@ -79,7 +79,7 @@ and you cannot create snapshots.
1. Click **PUBLISH**.
1. Click **PUBLISH** again to confirm.
### Exporting frames
### Exporting Frames
Frame exports downloaded filtered frames as a JSON file.
@@ -88,20 +88,20 @@ Frame exports downloaded filtered frames as a JSON file.
* In the Thumbnails area, click **EXPORT FRAMES**. The frames JSON file downloads.
### Modifying version names
### Modifying Version Names
**To modify a Dataset version name, do the following:**
* At the top right of the Dataset page, hover over the Dataset version name, click <img src="/docs/latest/icons/ico-edit.svg" className="icon size-md space-sm" /> , edit the name, and then click <img src="/docs/latest/icons/ico-save.svg" className="icon size-md space-sm" /> (check).
### Modifying version descriptions
### Modifying Version Descriptions
**To modify a version description, do the following:**
* Expand the **INFO** area, hover over the **Description**, click <img src="/docs/latest/icons/ico-edit.svg" className="icon size-md space-sm" />,
edit the name, and then click <img src="/docs/latest/icons/ico-save.svg" className="icon size-md space-sm" /> (check).
### Deleting versions
### Deleting Versions
You can delete versions whose status is *Draft*.

View File

@@ -19,7 +19,7 @@ to a new position.
* **CREATED** - Elapsed time since the Dataview was created.
* **DESCRIPTION**
## Customizing the Dataviews table
## Customizing the Dataviews Table
The Dataviews table can be customized. Changes are persistent (cached in the browser), and represented in the URL.
Save customized settings in a browser bookmark, and share the URL with teammates.
@@ -43,7 +43,7 @@ all the Dataviews in the project. The customizations of these two views are save
:::
## Dataview actions
## Dataview Actions
The following table describes the actions that can be performed from the Dataviews table.
@@ -66,7 +66,7 @@ The same information can be found in the bottom menu, in a tooltip that appears
![Dataviews table batch operations](../../img/webapp_dataview_table_batch_operations.png)
## Viewing, adding, and editing Dataviews
## Viewing, Adding, and Editing Dataviews
**To view, add, or edit a Dataview:**

View File

@@ -5,7 +5,7 @@ title: Comparing Dataviews
In addition to [**ClearML**'s comparison features](../../webapp/webapp_exp_comparing.md), the ClearML Enterprise WebApp
provides a deep comparison of input data selection criteria of experiment Dataviews, enabling to easily locate, visualize, and analyze differences.
## Selecting experiments
## Selecting Experiments
**To select experiments to compare:**
@@ -14,7 +14,7 @@ provides a deep comparison of input data selection criteria of experiment Datavi
1. In the bottom bar, click **COMPARE**. The comparison page appears, showing a column for each experiment and differences with
a highlighted background color. The experiment on the left is the base experiment. Other experiments compare to the base experiment.
## Dataviews (input data)
## Dataviews (Input Data)
**To locate the input data differences:**

View File

@@ -40,7 +40,7 @@ are iterated and frame filters (see [Dataviews](webapp_dataviews.md).
After importing a Dataview, it can be renamed and / or removed.
:::
### Selecting Dataset versions
### Selecting Dataset Versions
To input data from a different data source or different version of a data source, select a different Dataset version used
by the Dataview.
@@ -62,7 +62,7 @@ by the Dataview.
1. Click **SAVE**.
## Filtering frames
## Filtering Frames
Filtering of SingleFrames iterated by a Dataview for input to the experiment is accomplished by frame filters.
For more detailed information, see [Filtering](../dataviews.md#filtering).
@@ -85,7 +85,7 @@ For more detailed information, see [Filtering](../dataviews.md#filtering).
1. Click **SAVE**.
## Mapping labels (label translation)
## Mapping Labels (Label Translation)
Modify the ROI label mapping rules, which translate one or more input labels to another label for the output model. Labels
that are not mapped are ignored.
@@ -105,7 +105,7 @@ that are not mapped are ignored.
1. Click **SAVE**
## Label enumeration
## Label Enumeration
Modify the label enumeration assigned to output models.
@@ -121,7 +121,7 @@ Modify the label enumeration assigned to output models.
1. Click **SAVE**.
## Data augmentation
## Data Augmentation
Modify the on-the-fly data augmentation applied to frames input from the select Dataset versions and filtered by the frame filters. Data augmentation is applied in steps, where each step applies a method, operation, and strength.
@@ -137,7 +137,7 @@ For more detailed information, see [Data Augmentation](../dataviews.md#data-augm
1. Click **SAVE**.
## Iteration controls
## Iteration Controls
Modify the frame iteration performed by the Dataview to control the order, number, timing, and reproducibility of frames
for training.

View File

@@ -8,7 +8,7 @@ Enterprise WebApp (UI).
In addition to all of **ClearML**'s offerings, ClearML Enterprise keeps track of the Dataviews associated with an
experiment, which can be viewed and [modified](webapp_exp_modifying.md) in the WebApp.
## Viewing an experiment's Dataviews
## Viewing an Experiment's Dataviews
In an experiment's page, go to the **DATAVIEWS** tab to view all the experiment's Dataview details, including:
* Input data [selection](#dataset-versions) and [filtering](#filtering)
@@ -48,7 +48,7 @@ ROI label mapping (label translation) applies to the new model. For example, use
For detailed information, see [Mapping ROI labels](../dataviews.md#mapping-roi-labels).
### Label enumeration
### Label Enumeration
Assign label enumeration in the **LABELS ENUMERATION** area.
@@ -59,7 +59,7 @@ where each step is composed of a method, an operation, and a strength.
For detailed information, see [Data augmentation](../dataviews.md#data-augmentation).
### Iteration control
### Iteration Control
The input data iteration control settings determine the order, number, timing, and reproducibility of the Dataview iterating
SingleFrames. Depending upon the combination of iteration control settings, all SingleFrames may not be iterated, and some may repeat.