diff --git a/docs/docs/Artifact-Extraction-Guide.md b/docs/docs/Artifact-Extraction-Guide.md
new file mode 100644
index 000000000000..5672d781dc3b
--- /dev/null
+++ b/docs/docs/Artifact-Extraction-Guide.md
@@ -0,0 +1,85 @@
+**NOTICE:** This software (or technical data) was produced for the U.S. Government under contract, and is subject to the
+Rights in Data-General Clause 52.227-14, Alt. IV (DEC 2007). Copyright 2024 The MITRE Corporation. All Rights Reserved.
+
+# Introduction
+
+Artifact extraction is an optional behavior of OpenMPF that allows the user to save artifacts from a job onto disk. An
+artifact is a frame region extracted from a piece of media. Extracting artifacts gives you a way to visualize representative
+detections from the tracks found in a piece of media. For example, you might want to extract an artifact for the
+exemplar in all tracks found in a piece of media. The exemplar for the track is the detection in the track that has the
+highest value for the detection property chosen with the `QUALITY_SELECTION_PROPERTY`. (Refer to the [Quality Selection Guide](Quality-Selection-Guide/index.html) for documentation on quality selection.) In another scenario, you might want to extract
+artifacts for the exemplar as well as a few other frames that come before and after the exemplar.
+
+The Workflow Manager performs artifact extraction after all detection processing for a job is complete. Artifacts can be
+written to local shared storage, or to a remote S3 storage location. Refer to the [Object Storage Guide](Object-Storage-Guide/index.html) for information on using object storage.
+
+# Artifact Extraction Properties
+
+The choice of which artifacts to extract is highly configurable using the following properties.
+
+- `ARTIFACT_EXTRACTION_POLICY`: This property sets the high level policy controlling artifact extraction. It must have
+one of the following values:
+ - `NONE`: No artifact extraction will be performed.
+ - `VISUAL_TYPES_ONLY`: Extract artifacts only for tracks associated with a "visual" data type. Visual data types
+ include `IMAGE` and `VIDEO`.
+ - `ALL_TYPES`: Extract artifacts regardless of data type.
+ - `ALL_DETECTIONS`: Extract artifacts for all detections in the track.
+
+The default value is `VISUAL_TYPES_ONLY`, which turns off artifact extraction for data types such as `MOTION`,
+`SPEECH`, `SCENE`, and `SOUND`. [**NOTE:** Artifact extraction for anything other that `IMAGE` or `VIDEO` is not currently
+supported and will result in an error for the job.]
+
+With the `VISUAL_TYPES_ONLY` or `ALL_TYPES` policy, artifacts will be extracted according to the
+`ARTIFACT_EXTRACTION_POLICY_*` properties described below. With the `NONE` and `ALL_DETECTIONS` policies, these
+properties are ignored.
+
+- `ARTIFACT_EXTRACTION_POLICY_CROPPING`: When set to true, causes the extracted artifact to
+be cropped to the width and height of the bounding box of the detection, instead of extracting the entire frame.
+Default value is `true`.
+
+- `ARTIFACT_EXTRACTION_POLICY_EXEMPLAR_FRAME_PLUS`: This property may be set to an integer value N, which causes
+the exemplar frame and N frames before and after the exemplar to be extracted. If N = 0, then only
+the exemplar will be extracted. If N > 0, then the exemplar plus N frames before and after it will be extracted.
+If N < 0, then this property is disabled. The default value is 0.
+
+- `ARTIFACT_EXTRACTION_POLICY_FIRST_FRAME`: When set to true, then detections in the first frame in each track will
+be extracted. The default value is `false`.
+
+- `ARTIFACT_EXTRACTION_POLICY_MIDDLE_FRAME`: When set to true, then detections in the frame closest to the middle of
+each track will be extracted. The middle frame is the frame that is equally distant from the start and stop frames,
+but that frame does not necessarily contain a detection in a given track, so we search for the detection in the track
+that is closest to that middle frame. The default value is `false`.
+
+- `ARTIFACT_EXTRACTION_POLICY_LAST_FRAME`: When set to true, then detections in the last frame in each track will
+be extracted. The default value is `false`.
+
+- `ARTIFACT_EXTRACTION_POLICY_TOP_QUALITY_COUNT`: When this property is set to an integer value N greater than 0
+the detections in a track will be sorted by the detection property given by the `QUALITY_SELECTION_PROPERTY` job
+property, and then the N detections with the highest quality will be extracted, up to the number of available
+detections. If N is less than or equal to 0, then this policy is disabled. The default value is 0. (Refer to the [Quality Selection Guide](Quality-Selection-Guide/index.html) for documentation on quality selection.)
+
+- `ARTIFACT_EXTRACTION_POLICY_BEST_DETECTION_PROP_NAMES_LIST`: This property may be set to a string comprised of a
+semi-colon delimited list of strings. The strings in this list define the detection property names to be used for
+artifact extraction. If a detection in a track has a property that corresponds to any of the names in this list,
+an artifact will be created for it. For example, you might have a component that finds the detection in each track that has the largest size (width x height), and adds a property to that detection named `BEST_SIZE`. You could then set this property to the string `BEST_SIZE` and artifacts for those detections will be extracted along with all others requested. If the string is empty, then this property is disabled. The default value is
+the empty string.
+
+#Combining Properties
+
+The above properties can be combined to satisfy a set of criteria. For example, if `ARTIFACT_EXTRACTION_POLICY_FIRST_FRAME` is set to `true` and `ARTIFACT_EXTRACTION_POLICY_MIDDLE_FRAME` is set to `true`, then the first and middle frames will be extracted. If `ARTIFACT_EXTRACTION_POLICY_CROPPING` is also set to true then the detection crops for the first and middle frames will be extracted instead of the whole frames. If `ARTIFACT_EXTRACTION_POLICY_TOP_QUALITY_COUNT` is also set to 5, then the above still applies, and the 5 detection crops in a track with the highest quality values will also be extracted. Note that the top 5 may already include the first and middle frames. An artifact will only ever be extracted once, even if it is chosen according to more than one of the artifact extraction policies.
+
+# Artifact Cropping and Rotation
+
+If the `ARTIFACT_EXTRACTION_POLICY_CROPPING` job property is set to true, then the bounding box in the detection object is used to define the cropping. Here is an example showing an image where two detections were found. The two detections in the frame are illustrated with the bounding boxes added by markup. (Refer to the [Markup Guide](Markup-Guide/index.html) for documentation on how markup is added to images and videos.) The cropped artifacts are also shown below. Notice that the detection on the left in the image is rotated, but the cropped artifact has had the rotation removed.
+
+## Image with Markup
+
+
+
+## Left Detection
+
+
+
+## Right Detection
+
+
diff --git a/docs/docs/Quality-Selection-Guide.md b/docs/docs/Quality-Selection-Guide.md
index fa9618020b1c..cf6d1593cdd3 100644
--- a/docs/docs/Quality-Selection-Guide.md
+++ b/docs/docs/Quality-Selection-Guide.md
@@ -21,9 +21,17 @@ quality. The value associated with this property must be an integer or floating
indicate higher quality. The one exception is that if this property is set to `CONFIDENCE`, then the `confidence` member
of each detection and track is used to determine quality.
-The primary way in which OpenMPF uses detection quality is to determine the track "exemplar", which is the highest
-quality detection in the track. For components that do not compute a quality value, or where all detections have
-identical quality, the Workflow Manager will choose the first detection in the track as the exemplar.
+The choice of the exemplar to represent a track is most often determined based on the `QUALITY_SELECTION_PROPERTY`.
+For components that do not compute a quality value or that assign identical quality to all detections, the
+Workflow Manager will simply choose the first detection in the track as the exemplar. In this circumstance, if you want
+to choose something other than the first detection in the track, you can use the `EXEMPLAR_POLICY` property to control
+that. The allowed values for this property are:
+
+- `FIRST`: which selects the first detection in each track as the exemplar
+- `MIDDLE`: which chooses the detection closest to the middle of the track
+- `LAST`: which chooses the last detection in the track
+- `QUALITY`: which uses the `QUALITY_SELECTION_PROPERTY` to choose the exemplar. This is the default.
+
`QUALITY_SELECTION_THRESHOLD` is a numerical value used for filtering out low quality detections and tracks. All
detections below this threshold are discarded, and if all the detections in a track are discarded, then the track itself
@@ -40,7 +48,7 @@ forward. Refer to the [Feed Forward Guide](Feed-Forward-Guide/index.html) for mo
`ARTIFACT_EXTRACTION_POLICY_TOP_QUALITY_COUNT` can be used to select the number of detections that will be used to
extract artifacts. For example, if set to 10, the detections in a track will be sorted by their detection quality value,
and then the artifacts for the 10 detections with the highest quality will be extracted. If less then 10 detections meet
-the `QUALITY_SELECTION_THRESHOLD`, then only that many artifacts will be extracted.
+the `QUALITY_SELECTION_THRESHOLD`, then only that many artifacts will be extracted. Refer to the [Artifact Extraction Guide](Artifact-Extraction-Guide/index.html) for more information about artifact extraction.
# Hybrid Quality Selection
diff --git a/docs/docs/img/artifacts/NOTICE b/docs/docs/img/artifacts/NOTICE
new file mode 100644
index 000000000000..79ebef2a1d14
--- /dev/null
+++ b/docs/docs/img/artifacts/NOTICE
@@ -0,0 +1,12 @@
+# original_with_markup.png
+Based on https://pixabay.com/photos/girls-students-asian-glasses-1741925/
+The Pixabay Content License can be found at https://pixabay.com/service/license-summary/
+Added bounding boxes.
+
+# frame-7-0-0.png
+Based on https://pixabay.com/photos/girls-students-asian-glasses-1741925/
+Cropped the image using one of the bounding boxes added to 'original_with_markup.png'
+
+# frame-7-0-1.png
+Based on https://pixabay.com/photos/girls-students-asian-glasses-1741925/
+Cropped the image using the other bouding box added to 'original_with_markup.png'
\ No newline at end of file
diff --git a/docs/docs/img/artifacts/frame-7-0-0.png b/docs/docs/img/artifacts/frame-7-0-0.png
new file mode 100644
index 000000000000..2182c2080312
Binary files /dev/null and b/docs/docs/img/artifacts/frame-7-0-0.png differ
diff --git a/docs/docs/img/artifacts/frame-7-0-1.png b/docs/docs/img/artifacts/frame-7-0-1.png
new file mode 100644
index 000000000000..db47ff830fec
Binary files /dev/null and b/docs/docs/img/artifacts/frame-7-0-1.png differ
diff --git a/docs/docs/img/artifacts/original_with_markup.png b/docs/docs/img/artifacts/original_with_markup.png
new file mode 100644
index 000000000000..67024c292d11
Binary files /dev/null and b/docs/docs/img/artifacts/original_with_markup.png differ
diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml
index f92f4cb74a85..5697ff83649c 100644
--- a/docs/mkdocs.yml
+++ b/docs/mkdocs.yml
@@ -29,6 +29,7 @@ pages:
- Trigger Guide: Trigger-Guide.md
- Roll Up Guide: Roll-Up-Guide.md
- Health Check Guide: Health-Check-Guide.md
+ - Artifact Extraction Guide: Artifact-Extraction-Guide.md
- Quality Selection Guide: Quality-Selection-Guide.md
- Media Selectors Guide: Media-Selectors-Guide.md
- REST API: REST-API.md
diff --git a/docs/site/404.html b/docs/site/404.html
index c50b2f96254c..53ff14fa5524 100644
--- a/docs/site/404.html
+++ b/docs/site/404.html
@@ -122,6 +122,10 @@
NOTICE: This software (or technical data) was produced for the U.S. Government under contract, and is subject to the
+Rights in Data-General Clause 52.227-14, Alt. IV (DEC 2007). Copyright 2024 The MITRE Corporation. All Rights Reserved.
+
Introduction
+
Artifact extraction is an optional behavior of OpenMPF that allows the user to save artifacts from a job onto disk. An
+artifact is a frame region extracted from a piece of media. Extracting artifacts gives you a way to visualize representative
+detections from the tracks found in a piece of media. For example, you might want to extract an artifact for the
+exemplar in all tracks found in a piece of media. The exemplar for the track is the detection in the track that has the
+highest value for the detection property chosen with the QUALITY_SELECTION_PROPERTY. (Refer to the Quality Selection Guide for documentation on quality selection.) In another scenario, you might want to extract
+artifacts for the exemplar as well as a few other frames that come before and after the exemplar.
+
The Workflow Manager performs artifact extraction after all detection processing for a job is complete. Artifacts can be
+written to local shared storage, or to a remote S3 storage location. Refer to the Object Storage Guide for information on using object storage.
+
Artifact Extraction Properties
+
The choice of which artifacts to extract is highly configurable using the following properties.
+
+
ARTIFACT_EXTRACTION_POLICY: This property sets the high level policy controlling artifact extraction. It must have
+one of the following values:
+
NONE: No artifact extraction will be performed.
+
VISUAL_TYPES_ONLY: Extract artifacts only for tracks associated with a "visual" data type. Visual data types
+ include IMAGE and VIDEO.
+
ALL_TYPES: Extract artifacts regardless of data type.
+
ALL_DETECTIONS: Extract artifacts for all detections in the track.
+
+
+
+
The default value is VISUAL_TYPES_ONLY, which turns off artifact extraction for data types such as MOTION,
+SPEECH, SCENE, and SOUND. [NOTE: Artifact extraction for anything other that IMAGE or VIDEO is not currently
+supported and will result in an error for the job.]
+
With the VISUAL_TYPES_ONLY or ALL_TYPES policy, artifacts will be extracted according to the
+ARTIFACT_EXTRACTION_POLICY_* properties described below. With the NONE and ALL_DETECTIONS policies, these
+properties are ignored.
+
+
+
ARTIFACT_EXTRACTION_POLICY_CROPPING: When set to true, causes the extracted artifact to
+be cropped to the width and height of the bounding box of the detection, instead of extracting the entire frame.
+Default value is true.
+
+
+
ARTIFACT_EXTRACTION_POLICY_EXEMPLAR_FRAME_PLUS: This property may be set to an integer value N, which causes
+the exemplar frame and N frames before and after the exemplar to be extracted. If N = 0, then only
+the exemplar will be extracted. If N > 0, then the exemplar plus N frames before and after it will be extracted.
+If N < 0, then this property is disabled. The default value is 0.
+
+
+
ARTIFACT_EXTRACTION_POLICY_FIRST_FRAME: When set to true, then detections in the first frame in each track will
+be extracted. The default value is false.
+
+
+
ARTIFACT_EXTRACTION_POLICY_MIDDLE_FRAME: When set to true, then detections in the frame closest to the middle of
+each track will be extracted. The middle frame is the frame that is equally distant from the start and stop frames,
+but that frame does not necessarily contain a detection in a given track, so we search for the detection in the track
+that is closest to that middle frame. The default value is false.
+
+
+
ARTIFACT_EXTRACTION_POLICY_LAST_FRAME: When set to true, then detections in the last frame in each track will
+be extracted. The default value is false.
+
+
+
ARTIFACT_EXTRACTION_POLICY_TOP_QUALITY_COUNT: When this property is set to an integer value N greater than 0
+the detections in a track will be sorted by the detection property given by the QUALITY_SELECTION_PROPERTY job
+property, and then the N detections with the highest quality will be extracted, up to the number of available
+detections. If N is less than or equal to 0, then this policy is disabled. The default value is 0. (Refer to the Quality Selection Guide for documentation on quality selection.)
+
+
+
ARTIFACT_EXTRACTION_POLICY_BEST_DETECTION_PROP_NAMES_LIST: This property may be set to a string comprised of a
+semi-colon delimited list of strings. The strings in this list define the detection property names to be used for
+artifact extraction. If a detection in a track has a property that corresponds to any of the names in this list,
+an artifact will be created for it. For example, you might have a component that finds the detection in each track that has the largest size (width x height), and adds a property to that detection named BEST_SIZE. You could then set this property to the string BEST_SIZE and artifacts for those detections will be extracted along with all others requested. If the string is empty, then this property is disabled. The default value is
+the empty string.
+
+
+
Combining Properties
+
The above properties can be combined to satisfy a set of criteria. For example, if ARTIFACT_EXTRACTION_POLICY_FIRST_FRAME is set to true and ARTIFACT_EXTRACTION_POLICY_MIDDLE_FRAME is set to true, then the first and middle frames will be extracted. If ARTIFACT_EXTRACTION_POLICY_CROPPING is also set to true then the detection crops for the first and middle frames will be extracted instead of the whole frames. If ARTIFACT_EXTRACTION_POLICY_TOP_QUALITY_COUNT is also set to 5, then the above still applies, and the 5 detection crops in a track with the highest quality values will also be extracted. Note that the top 5 may already include the first and middle frames. An artifact will only ever be extracted once, even if it is chosen according to more than one of the artifact extraction policies.
+
Artifact Cropping and Rotation
+
If the ARTIFACT_EXTRACTION_POLICY_CROPPING job property is set to true, then the bounding box in the detection object is used to define the cropping. Here is an example showing an image where two detections were found. The two detections in the frame are illustrated with the bounding boxes added by markup. (Refer to the Markup Guide for documentation on how markup is added to images and videos.) The cropped artifacts are also shown below. Notice that the detection on the left in the image is rotated, but the cropped artifact has had the rotation removed.
quality. The value associated with this property must be an integer or floating point value, where higher values
indicate higher quality. The one exception is that if this property is set to CONFIDENCE, then the confidence member
of each detection and track is used to determine quality.
-
The primary way in which OpenMPF uses detection quality is to determine the track "exemplar", which is the highest
-quality detection in the track. For components that do not compute a quality value, or where all detections have
-identical quality, the Workflow Manager will choose the first detection in the track as the exemplar.
+
The choice of the exemplar to represent a track is most often determined based on the QUALITY_SELECTION_PROPERTY.
+For components that do not compute a quality value or that assign identical quality to all detections, the
+Workflow Manager will simply choose the first detection in the track as the exemplar. In this circumstance, if you want
+to choose something other than the first detection in the track, you can use the EXEMPLAR_POLICY property to control
+that. The allowed values for this property are:
+
+
FIRST: which selects the first detection in each track as the exemplar
+
MIDDLE: which chooses the detection closest to the middle of the track
+
LAST: which chooses the last detection in the track
+
QUALITY: which uses the QUALITY_SELECTION_PROPERTY to choose the exemplar. This is the default.
+
QUALITY_SELECTION_THRESHOLD is a numerical value used for filtering out low quality detections and tracks. All
detections below this threshold are discarded, and if all the detections in a track are discarded, then the track itself
is also discarded. Note that components may do this filtering themselves, while others leave it to the Workflow Manager
@@ -281,7 +293,7 @@
Quality Selection Properties
ARTIFACT_EXTRACTION_POLICY_TOP_QUALITY_COUNT can be used to select the number of detections that will be used to
extract artifacts. For example, if set to 10, the detections in a track will be sorted by their detection quality value,
and then the artifacts for the 10 detections with the highest quality will be extracted. If less then 10 detections meet
-the QUALITY_SELECTION_THRESHOLD, then only that many artifacts will be extracted.
+the QUALITY_SELECTION_THRESHOLD, then only that many artifacts will be extracted. Refer to the Artifact Extraction Guide for more information about artifact extraction.
Hybrid Quality Selection
In some cases, there may be a detection property that a component would like to use as a measure of quality but it
doesn't lend itself to simple thresholding, perhaps because its value is not linearly increasing, or it is not numeric. The
@@ -307,7 +319,7 @@
diff --git a/docs/site/img/artifacts/NOTICE b/docs/site/img/artifacts/NOTICE
new file mode 100644
index 000000000000..79ebef2a1d14
--- /dev/null
+++ b/docs/site/img/artifacts/NOTICE
@@ -0,0 +1,12 @@
+# original_with_markup.png
+Based on https://pixabay.com/photos/girls-students-asian-glasses-1741925/
+The Pixabay Content License can be found at https://pixabay.com/service/license-summary/
+Added bounding boxes.
+
+# frame-7-0-0.png
+Based on https://pixabay.com/photos/girls-students-asian-glasses-1741925/
+Cropped the image using one of the bounding boxes added to 'original_with_markup.png'
+
+# frame-7-0-1.png
+Based on https://pixabay.com/photos/girls-students-asian-glasses-1741925/
+Cropped the image using the other bouding box added to 'original_with_markup.png'
\ No newline at end of file
diff --git a/docs/site/img/artifacts/frame-7-0-0.png b/docs/site/img/artifacts/frame-7-0-0.png
new file mode 100644
index 000000000000..2182c2080312
Binary files /dev/null and b/docs/site/img/artifacts/frame-7-0-0.png differ
diff --git a/docs/site/img/artifacts/frame-7-0-1.png b/docs/site/img/artifacts/frame-7-0-1.png
new file mode 100644
index 000000000000..db47ff830fec
Binary files /dev/null and b/docs/site/img/artifacts/frame-7-0-1.png differ
diff --git a/docs/site/img/artifacts/original_with_markup.png b/docs/site/img/artifacts/original_with_markup.png
new file mode 100644
index 000000000000..67024c292d11
Binary files /dev/null and b/docs/site/img/artifacts/original_with_markup.png differ
diff --git a/docs/site/index.html b/docs/site/index.html
index beb07abe30d9..20a3e606be45 100644
--- a/docs/site/index.html
+++ b/docs/site/index.html
@@ -135,6 +135,10 @@
diff --git a/docs/site/search/search_index.json b/docs/site/search/search_index.json
index 363657a36e3f..4286e287abd9 100644
--- a/docs/site/search/search_index.json
+++ b/docs/site/search/search_index.json
@@ -610,9 +610,49 @@
"text": "When health checks are enabled, the component executor will look for an INI file at $MPF_HOME/plugins//health/health-check.ini . Below is an example of the expected\nINI file. media=$MPF_HOME/plugins/OcvFaceDetection/health/meds_faces_image.png\nmin_num_tracks=2\nmedia_type=IMAGE\n\n[job_properties]\nJOB PROP1=VALUE1\nJOB PROP2=VALUE2\n\n[media_properties]\nMEDIA PROP=MEDIA VALUE The supported keys are: media : (Required) Path to the media file that will be used in the health check. min_num_tracks : (Required) The minimum number of tracks the component must find for the health\n check to pass. media_type : (Required) The type of media referenced in the media key. It must be one of\n \"IMAGE\", \"VIDEO\", \"AUDIO\", or \"GENERIC\". job_properties : (Optional) Job properties that will set on the health check job. media_properties : (Optional) Media properties that will set on the health check job.",
"title": "The INI File"
},
+ {
+ "location": "/Artifact-Extraction-Guide/index.html",
+ "text": "NOTICE:\n This software (or technical data) was produced for the U.S. Government under contract, and is subject to the\nRights in Data-General Clause 52.227-14, Alt. IV (DEC 2007). Copyright 2024 The MITRE Corporation. All Rights Reserved.\n\n\nIntroduction\n\n\nArtifact extraction is an optional behavior of OpenMPF that allows the user to save artifacts from a job onto disk. An\nartifact is a frame region extracted from a piece of media. Extracting artifacts gives you a way to visualize representative\ndetections from the tracks found in a piece of media. For example, you might want to extract an artifact for the\nexemplar in all tracks found in a piece of media. The exemplar for the track is the detection in the track that has the\nhighest value for the detection property chosen with the \nQUALITY_SELECTION_PROPERTY\n. (Refer to the \nQuality Selection Guide\n for documentation on quality selection.) In another scenario, you might want to extract\nartifacts for the exemplar as well as a few other frames that come before and after the exemplar.\n\n\nThe Workflow Manager performs artifact extraction after all detection processing for a job is complete. Artifacts can be\nwritten to local shared storage, or to a remote S3 storage location. Refer to the \nObject Storage Guide\n for information on using object storage.\n\n\nArtifact Extraction Properties\n\n\nThe choice of which artifacts to extract is highly configurable using the following properties.\n\n\n\n\nARTIFACT_EXTRACTION_POLICY\n: This property sets the high level policy controlling artifact extraction. It must have\none of the following values:\n\n\nNONE\n: No artifact extraction will be performed.\n\n\nVISUAL_TYPES_ONLY\n: Extract artifacts only for tracks associated with a \"visual\" data type. Visual data types\n include \nIMAGE\n and \nVIDEO\n.\n\n\nALL_TYPES\n: Extract artifacts regardless of data type.\n\n\nALL_DETECTIONS\n: Extract artifacts for all detections in the track.\n\n\n\n\n\n\n\n\nThe default value is \nVISUAL_TYPES_ONLY\n, which turns off artifact extraction for data types such as \nMOTION\n,\n\nSPEECH\n, \nSCENE\n, and \nSOUND\n. [\nNOTE:\n Artifact extraction for anything other that \nIMAGE\n or \nVIDEO\n is not currently\nsupported and will result in an error for the job.]\n\n\nWith the \nVISUAL_TYPES_ONLY\n or \nALL_TYPES\n policy, artifacts will be extracted according to the\n\nARTIFACT_EXTRACTION_POLICY_*\n properties described below. With the \nNONE\n and \nALL_DETECTIONS\n policies, these\nproperties are ignored.\n\n\n\n\n\n\nARTIFACT_EXTRACTION_POLICY_CROPPING\n: When set to true, causes the extracted artifact to\nbe cropped to the width and height of the bounding box of the detection, instead of extracting the entire frame.\nDefault value is \ntrue\n.\n\n\n\n\n\n\nARTIFACT_EXTRACTION_POLICY_EXEMPLAR_FRAME_PLUS\n: This property may be set to an integer value N, which causes\nthe exemplar frame and N frames before and after the exemplar to be extracted. If N = 0, then only\nthe exemplar will be extracted. If N > 0, then the exemplar plus N frames before and after it will be extracted.\nIf N < 0, then this property is disabled. The default value is 0.\n\n\n\n\n\n\nARTIFACT_EXTRACTION_POLICY_FIRST_FRAME\n: When set to true, then detections in the first frame in each track will\nbe extracted. The default value is \nfalse\n.\n\n\n\n\n\n\nARTIFACT_EXTRACTION_POLICY_MIDDLE_FRAME\n: When set to true, then detections in the frame closest to the middle of\neach track will be extracted. The middle frame is the frame that is equally distant from the start and stop frames,\nbut that frame does not necessarily contain a detection in a given track, so we search for the detection in the track\nthat is closest to that middle frame. The default value is \nfalse\n.\n\n\n\n\n\n\nARTIFACT_EXTRACTION_POLICY_LAST_FRAME\n: When set to true, then detections in the last frame in each track will\nbe extracted. The default value is \nfalse\n.\n\n\n\n\n\n\nARTIFACT_EXTRACTION_POLICY_TOP_QUALITY_COUNT\n: When this property is set to an integer value N greater than 0\nthe detections in a track will be sorted by the detection property given by the \nQUALITY_SELECTION_PROPERTY\n job\nproperty, and then the N detections with the highest quality will be extracted, up to the number of available\ndetections. If N is less than or equal to 0, then this policy is disabled. The default value is 0. (Refer to the \nQuality Selection Guide\n for documentation on quality selection.)\n\n\n\n\n\n\nARTIFACT_EXTRACTION_POLICY_BEST_DETECTION_PROP_NAMES_LIST\n: This property may be set to a string comprised of a\nsemi-colon delimited list of strings. The strings in this list define the detection property names to be used for\nartifact extraction. If a detection in a track has a property that corresponds to any of the names in this list,\nan artifact will be created for it. For example, you might have a component that finds the detection in each track that has the largest size (width x height), and adds a property to that detection named \nBEST_SIZE\n. You could then set this property to the string \nBEST_SIZE\n and artifacts for those detections will be extracted along with all others requested. If the string is empty, then this property is disabled. The default value is\nthe empty string.\n\n\n\n\n\n\nCombining Properties\n\n\nThe above properties can be combined to satisfy a set of criteria. For example, if \nARTIFACT_EXTRACTION_POLICY_FIRST_FRAME\n is set to \ntrue\n and \nARTIFACT_EXTRACTION_POLICY_MIDDLE_FRAME\n is set to \ntrue\n, then the first and middle frames will be extracted. If \nARTIFACT_EXTRACTION_POLICY_CROPPING\n is also set to true then the detection crops for the first and middle frames will be extracted instead of the whole frames. If \nARTIFACT_EXTRACTION_POLICY_TOP_QUALITY_COUNT\n is also set to 5, then the above still applies, and the 5 detection crops in a track with the highest quality values will also be extracted. Note that the top 5 may already include the first and middle frames. An artifact will only ever be extracted once, even if it is chosen according to more than one of the artifact extraction policies.\n\n\nArtifact Cropping and Rotation\n\n\nIf the \nARTIFACT_EXTRACTION_POLICY_CROPPING\n job property is set to true, then the bounding box in the detection object is used to define the cropping. Here is an example showing an image where two detections were found. The two detections in the frame are illustrated with the bounding boxes added by markup. (Refer to the \nMarkup Guide\n for documentation on how markup is added to images and videos.) The cropped artifacts are also shown below. Notice that the detection on the left in the image is rotated, but the cropped artifact has had the rotation removed.\n\n\nImage with Markup\n\n\n\n\nLeft Detection\n\n\n\n\nRight Detection",
+ "title": "Artifact Extraction Guide"
+ },
+ {
+ "location": "/Artifact-Extraction-Guide/index.html#introduction",
+ "text": "Artifact extraction is an optional behavior of OpenMPF that allows the user to save artifacts from a job onto disk. An\nartifact is a frame region extracted from a piece of media. Extracting artifacts gives you a way to visualize representative\ndetections from the tracks found in a piece of media. For example, you might want to extract an artifact for the\nexemplar in all tracks found in a piece of media. The exemplar for the track is the detection in the track that has the\nhighest value for the detection property chosen with the QUALITY_SELECTION_PROPERTY . (Refer to the Quality Selection Guide for documentation on quality selection.) In another scenario, you might want to extract\nartifacts for the exemplar as well as a few other frames that come before and after the exemplar. The Workflow Manager performs artifact extraction after all detection processing for a job is complete. Artifacts can be\nwritten to local shared storage, or to a remote S3 storage location. Refer to the Object Storage Guide for information on using object storage.",
+ "title": "Introduction"
+ },
+ {
+ "location": "/Artifact-Extraction-Guide/index.html#artifact-extraction-properties",
+ "text": "The choice of which artifacts to extract is highly configurable using the following properties. ARTIFACT_EXTRACTION_POLICY : This property sets the high level policy controlling artifact extraction. It must have\none of the following values: NONE : No artifact extraction will be performed. VISUAL_TYPES_ONLY : Extract artifacts only for tracks associated with a \"visual\" data type. Visual data types\n include IMAGE and VIDEO . ALL_TYPES : Extract artifacts regardless of data type. ALL_DETECTIONS : Extract artifacts for all detections in the track. The default value is VISUAL_TYPES_ONLY , which turns off artifact extraction for data types such as MOTION , SPEECH , SCENE , and SOUND . [ NOTE: Artifact extraction for anything other that IMAGE or VIDEO is not currently\nsupported and will result in an error for the job.] With the VISUAL_TYPES_ONLY or ALL_TYPES policy, artifacts will be extracted according to the ARTIFACT_EXTRACTION_POLICY_* properties described below. With the NONE and ALL_DETECTIONS policies, these\nproperties are ignored. ARTIFACT_EXTRACTION_POLICY_CROPPING : When set to true, causes the extracted artifact to\nbe cropped to the width and height of the bounding box of the detection, instead of extracting the entire frame.\nDefault value is true . ARTIFACT_EXTRACTION_POLICY_EXEMPLAR_FRAME_PLUS : This property may be set to an integer value N, which causes\nthe exemplar frame and N frames before and after the exemplar to be extracted. If N = 0, then only\nthe exemplar will be extracted. If N > 0, then the exemplar plus N frames before and after it will be extracted.\nIf N < 0, then this property is disabled. The default value is 0. ARTIFACT_EXTRACTION_POLICY_FIRST_FRAME : When set to true, then detections in the first frame in each track will\nbe extracted. The default value is false . ARTIFACT_EXTRACTION_POLICY_MIDDLE_FRAME : When set to true, then detections in the frame closest to the middle of\neach track will be extracted. The middle frame is the frame that is equally distant from the start and stop frames,\nbut that frame does not necessarily contain a detection in a given track, so we search for the detection in the track\nthat is closest to that middle frame. The default value is false . ARTIFACT_EXTRACTION_POLICY_LAST_FRAME : When set to true, then detections in the last frame in each track will\nbe extracted. The default value is false . ARTIFACT_EXTRACTION_POLICY_TOP_QUALITY_COUNT : When this property is set to an integer value N greater than 0\nthe detections in a track will be sorted by the detection property given by the QUALITY_SELECTION_PROPERTY job\nproperty, and then the N detections with the highest quality will be extracted, up to the number of available\ndetections. If N is less than or equal to 0, then this policy is disabled. The default value is 0. (Refer to the Quality Selection Guide for documentation on quality selection.) ARTIFACT_EXTRACTION_POLICY_BEST_DETECTION_PROP_NAMES_LIST : This property may be set to a string comprised of a\nsemi-colon delimited list of strings. The strings in this list define the detection property names to be used for\nartifact extraction. If a detection in a track has a property that corresponds to any of the names in this list,\nan artifact will be created for it. For example, you might have a component that finds the detection in each track that has the largest size (width x height), and adds a property to that detection named BEST_SIZE . You could then set this property to the string BEST_SIZE and artifacts for those detections will be extracted along with all others requested. If the string is empty, then this property is disabled. The default value is\nthe empty string.",
+ "title": "Artifact Extraction Properties"
+ },
+ {
+ "location": "/Artifact-Extraction-Guide/index.html#combining-properties",
+ "text": "The above properties can be combined to satisfy a set of criteria. For example, if ARTIFACT_EXTRACTION_POLICY_FIRST_FRAME is set to true and ARTIFACT_EXTRACTION_POLICY_MIDDLE_FRAME is set to true , then the first and middle frames will be extracted. If ARTIFACT_EXTRACTION_POLICY_CROPPING is also set to true then the detection crops for the first and middle frames will be extracted instead of the whole frames. If ARTIFACT_EXTRACTION_POLICY_TOP_QUALITY_COUNT is also set to 5, then the above still applies, and the 5 detection crops in a track with the highest quality values will also be extracted. Note that the top 5 may already include the first and middle frames. An artifact will only ever be extracted once, even if it is chosen according to more than one of the artifact extraction policies.",
+ "title": "Combining Properties"
+ },
+ {
+ "location": "/Artifact-Extraction-Guide/index.html#artifact-cropping-and-rotation",
+ "text": "If the ARTIFACT_EXTRACTION_POLICY_CROPPING job property is set to true, then the bounding box in the detection object is used to define the cropping. Here is an example showing an image where two detections were found. The two detections in the frame are illustrated with the bounding boxes added by markup. (Refer to the Markup Guide for documentation on how markup is added to images and videos.) The cropped artifacts are also shown below. Notice that the detection on the left in the image is rotated, but the cropped artifact has had the rotation removed.",
+ "title": "Artifact Cropping and Rotation"
+ },
+ {
+ "location": "/Artifact-Extraction-Guide/index.html#image-with-markup",
+ "text": "",
+ "title": "Image with Markup"
+ },
+ {
+ "location": "/Artifact-Extraction-Guide/index.html#left-detection",
+ "text": "",
+ "title": "Left Detection"
+ },
+ {
+ "location": "/Artifact-Extraction-Guide/index.html#right-detection",
+ "text": "",
+ "title": "Right Detection"
+ },
{
"location": "/Quality-Selection-Guide/index.html",
- "text": "NOTICE:\n This software (or technical data) was produced for the U.S. Government under contract, and is subject to the\nRights in Data-General Clause 52.227-14, Alt. IV (DEC 2007). Copyright 2024 The MITRE Corporation. All Rights Reserved.\n\n\nIntroduction\n\n\nThere are a few places in OpenMPF where the quality of a detection comes into play. Here, \"detection quality\" is defined\nto be a measurement of how \"good\" the detection is that can be used to rank the detections in a track from highest to\nlowest quality. In many cases, components use \"confidence\" as an indicator of quality; however, there are some\ncomponents that do not compute a confidence value for its detections, and there are others that compute a different\nvalue that is a better measure of quality for that detection algorithm. As discussed in the next section, OpenMPF uses\ndetection quality for a variety of purposes.\n\n\nQuality Selection Properties\n\n\nQUALITY_SELECTION_PROPERTY\n is a string that defines the name of the property to use for quality selection. For\nexample, a face detection component may generate detections with a \nDESCRIPTOR_MAGNITUDE\n property that represents the\nquality of the face embedding and how useful it is for reidentification. The Workflow Manager will search the\n\ndetection_properties\n map in each detection and track for that key and use the corresponding value as the detection\nquality. The value associated with this property must be an integer or floating point value, where higher values\nindicate higher quality. The one exception is that if this property is set to \nCONFIDENCE\n, then the \nconfidence\n member\nof each detection and track is used to determine quality.\n\n\nThe primary way in which OpenMPF uses detection quality is to determine the track \"exemplar\", which is the highest\nquality detection in the track. For components that do not compute a quality value, or where all detections have\nidentical quality, the Workflow Manager will choose the first detection in the track as the exemplar.\n\n\nQUALITY_SELECTION_THRESHOLD\n is a numerical value used for filtering out low quality detections and tracks. All\ndetections below this threshold are discarded, and if all the detections in a track are discarded, then the track itself\nis also discarded. Note that components may do this filtering themselves, while others leave it to the Workflow Manager\nto do the filtering. The thresholding process can be circumvented by setting this threshold to a value less than the\nlowest possible value. For example, if the detection quality value computed by a component has values in the range 0 to\n1, then setting the threshold property to -1 will result in all detections and all tracks being retained.\n\n\nFEED_FORWARD_TOP_QUALITY_COUNT\n can be used to select the number of detections to include in a feed-forward track. For\nexample, if set to 10, only the top 10 highest quality detections are fed forward to the downstream component for that\ntrack. If less then 10 detections meet the \nQUALITY_SELECTION_THRESHOLD\n, then only that many detections are fed\nforward. Refer to the \nFeed Forward Guide\n for more information.\n\n\nARTIFACT_EXTRACTION_POLICY_TOP_QUALITY_COUNT\n can be used to select the number of detections that will be used to\nextract artifacts. For example, if set to 10, the detections in a track will be sorted by their detection quality value,\nand then the artifacts for the 10 detections with the highest quality will be extracted. If less then 10 detections meet\nthe \nQUALITY_SELECTION_THRESHOLD\n, then only that many artifacts will be extracted.\n\n\nHybrid Quality Selection\n\n\nIn some cases, there may be a detection property that a component would like to use as a measure of quality but it\ndoesn't lend itself to simple thresholding, perhaps because its value is not linearly increasing, or it is not numeric. The\ncomponent can in this case create a custom property that represents the quality of detections using a numerical value that\ncorresponds to the ordering of the detections from low to high quality.\n\n\nAs a simple example, a face detector might be able to calculate the face pose and would like to select for artifact\nextraction the face that is closest to frontal pose, and the two that are closest to left and right profile pose. If the face\ndetector computes the yaw with values between -90 degrees and +90 degrees, then the numerical order of those values would\nnot produce the desired result. In this case, the component could create a custom detection property called \nRANK\n, and\nassign values to that property that orders the detections from highest to lowest quality. The face detection component would\nassign the highest value of \nRANK\n to the detection with a value of yaw closest to 0, and the detections with values of yaw\nclosest to +/-90 degrees would be assigned the second and third highest values of \nRANK\n. Detections without the \nRANK\n\nproperty would be treated as having the lowest possible quality value. Thus, the track exemplar would be the face with the\nfrontal pose, and the \nARTIFACT_EXTRACTION_POLICY_TOP_QUALITY_COUNT\n property would be set to 3, so that the frontal and\ntwo profile pose detections would be kept as track artifacts in addition to the exemplar.",
+ "text": "NOTICE:\n This software (or technical data) was produced for the U.S. Government under contract, and is subject to the\nRights in Data-General Clause 52.227-14, Alt. IV (DEC 2007). Copyright 2024 The MITRE Corporation. All Rights Reserved.\n\n\nIntroduction\n\n\nThere are a few places in OpenMPF where the quality of a detection comes into play. Here, \"detection quality\" is defined\nto be a measurement of how \"good\" the detection is that can be used to rank the detections in a track from highest to\nlowest quality. In many cases, components use \"confidence\" as an indicator of quality; however, there are some\ncomponents that do not compute a confidence value for its detections, and there are others that compute a different\nvalue that is a better measure of quality for that detection algorithm. As discussed in the next section, OpenMPF uses\ndetection quality for a variety of purposes.\n\n\nQuality Selection Properties\n\n\nQUALITY_SELECTION_PROPERTY\n is a string that defines the name of the property to use for quality selection. For\nexample, a face detection component may generate detections with a \nDESCRIPTOR_MAGNITUDE\n property that represents the\nquality of the face embedding and how useful it is for reidentification. The Workflow Manager will search the\n\ndetection_properties\n map in each detection and track for that key and use the corresponding value as the detection\nquality. The value associated with this property must be an integer or floating point value, where higher values\nindicate higher quality. The one exception is that if this property is set to \nCONFIDENCE\n, then the \nconfidence\n member\nof each detection and track is used to determine quality.\n\n\nThe choice of the exemplar to represent a track is most often determined based on the \nQUALITY_SELECTION_PROPERTY\n.\nFor components that do not compute a quality value or that assign identical quality to all detections, the\nWorkflow Manager will simply choose the first detection in the track as the exemplar. In this circumstance, if you want\nto choose something other than the first detection in the track, you can use the \nEXEMPLAR_POLICY\n property to control\nthat. The allowed values for this property are:\n\n\n\n\nFIRST\n: which selects the first detection in each track as the exemplar\n\n\nMIDDLE\n: which chooses the detection closest to the middle of the track\n\n\nLAST\n: which chooses the last detection in the track\n\n\nQUALITY\n: which uses the \nQUALITY_SELECTION_PROPERTY\n to choose the exemplar. This is the default.\n\n\n\n\nQUALITY_SELECTION_THRESHOLD\n is a numerical value used for filtering out low quality detections and tracks. All\ndetections below this threshold are discarded, and if all the detections in a track are discarded, then the track itself\nis also discarded. Note that components may do this filtering themselves, while others leave it to the Workflow Manager\nto do the filtering. The thresholding process can be circumvented by setting this threshold to a value less than the\nlowest possible value. For example, if the detection quality value computed by a component has values in the range 0 to\n1, then setting the threshold property to -1 will result in all detections and all tracks being retained.\n\n\nFEED_FORWARD_TOP_QUALITY_COUNT\n can be used to select the number of detections to include in a feed-forward track. For\nexample, if set to 10, only the top 10 highest quality detections are fed forward to the downstream component for that\ntrack. If less then 10 detections meet the \nQUALITY_SELECTION_THRESHOLD\n, then only that many detections are fed\nforward. Refer to the \nFeed Forward Guide\n for more information.\n\n\nARTIFACT_EXTRACTION_POLICY_TOP_QUALITY_COUNT\n can be used to select the number of detections that will be used to\nextract artifacts. For example, if set to 10, the detections in a track will be sorted by their detection quality value,\nand then the artifacts for the 10 detections with the highest quality will be extracted. If less then 10 detections meet\nthe \nQUALITY_SELECTION_THRESHOLD\n, then only that many artifacts will be extracted. Refer to the \nArtifact Extraction Guide\n for more information about artifact extraction.\n\n\nHybrid Quality Selection\n\n\nIn some cases, there may be a detection property that a component would like to use as a measure of quality but it\ndoesn't lend itself to simple thresholding, perhaps because its value is not linearly increasing, or it is not numeric. The\ncomponent can in this case create a custom property that represents the quality of detections using a numerical value that\ncorresponds to the ordering of the detections from low to high quality.\n\n\nAs a simple example, a face detector might be able to calculate the face pose and would like to select for artifact\nextraction the face that is closest to frontal pose, and the two that are closest to left and right profile pose. If the face\ndetector computes the yaw with values between -90 degrees and +90 degrees, then the numerical order of those values would\nnot produce the desired result. In this case, the component could create a custom detection property called \nRANK\n, and\nassign values to that property that orders the detections from highest to lowest quality. The face detection component would\nassign the highest value of \nRANK\n to the detection with a value of yaw closest to 0, and the detections with values of yaw\nclosest to +/-90 degrees would be assigned the second and third highest values of \nRANK\n. Detections without the \nRANK\n\nproperty would be treated as having the lowest possible quality value. Thus, the track exemplar would be the face with the\nfrontal pose, and the \nARTIFACT_EXTRACTION_POLICY_TOP_QUALITY_COUNT\n property would be set to 3, so that the frontal and\ntwo profile pose detections would be kept as track artifacts in addition to the exemplar.",
"title": "Quality Selection Guide"
},
{
@@ -622,7 +662,7 @@
},
{
"location": "/Quality-Selection-Guide/index.html#quality-selection-properties",
- "text": "QUALITY_SELECTION_PROPERTY is a string that defines the name of the property to use for quality selection. For\nexample, a face detection component may generate detections with a DESCRIPTOR_MAGNITUDE property that represents the\nquality of the face embedding and how useful it is for reidentification. The Workflow Manager will search the detection_properties map in each detection and track for that key and use the corresponding value as the detection\nquality. The value associated with this property must be an integer or floating point value, where higher values\nindicate higher quality. The one exception is that if this property is set to CONFIDENCE , then the confidence member\nof each detection and track is used to determine quality. The primary way in which OpenMPF uses detection quality is to determine the track \"exemplar\", which is the highest\nquality detection in the track. For components that do not compute a quality value, or where all detections have\nidentical quality, the Workflow Manager will choose the first detection in the track as the exemplar. QUALITY_SELECTION_THRESHOLD is a numerical value used for filtering out low quality detections and tracks. All\ndetections below this threshold are discarded, and if all the detections in a track are discarded, then the track itself\nis also discarded. Note that components may do this filtering themselves, while others leave it to the Workflow Manager\nto do the filtering. The thresholding process can be circumvented by setting this threshold to a value less than the\nlowest possible value. For example, if the detection quality value computed by a component has values in the range 0 to\n1, then setting the threshold property to -1 will result in all detections and all tracks being retained. FEED_FORWARD_TOP_QUALITY_COUNT can be used to select the number of detections to include in a feed-forward track. For\nexample, if set to 10, only the top 10 highest quality detections are fed forward to the downstream component for that\ntrack. If less then 10 detections meet the QUALITY_SELECTION_THRESHOLD , then only that many detections are fed\nforward. Refer to the Feed Forward Guide for more information. ARTIFACT_EXTRACTION_POLICY_TOP_QUALITY_COUNT can be used to select the number of detections that will be used to\nextract artifacts. For example, if set to 10, the detections in a track will be sorted by their detection quality value,\nand then the artifacts for the 10 detections with the highest quality will be extracted. If less then 10 detections meet\nthe QUALITY_SELECTION_THRESHOLD , then only that many artifacts will be extracted.",
+ "text": "QUALITY_SELECTION_PROPERTY is a string that defines the name of the property to use for quality selection. For\nexample, a face detection component may generate detections with a DESCRIPTOR_MAGNITUDE property that represents the\nquality of the face embedding and how useful it is for reidentification. The Workflow Manager will search the detection_properties map in each detection and track for that key and use the corresponding value as the detection\nquality. The value associated with this property must be an integer or floating point value, where higher values\nindicate higher quality. The one exception is that if this property is set to CONFIDENCE , then the confidence member\nof each detection and track is used to determine quality. The choice of the exemplar to represent a track is most often determined based on the QUALITY_SELECTION_PROPERTY .\nFor components that do not compute a quality value or that assign identical quality to all detections, the\nWorkflow Manager will simply choose the first detection in the track as the exemplar. In this circumstance, if you want\nto choose something other than the first detection in the track, you can use the EXEMPLAR_POLICY property to control\nthat. The allowed values for this property are: FIRST : which selects the first detection in each track as the exemplar MIDDLE : which chooses the detection closest to the middle of the track LAST : which chooses the last detection in the track QUALITY : which uses the QUALITY_SELECTION_PROPERTY to choose the exemplar. This is the default. QUALITY_SELECTION_THRESHOLD is a numerical value used for filtering out low quality detections and tracks. All\ndetections below this threshold are discarded, and if all the detections in a track are discarded, then the track itself\nis also discarded. Note that components may do this filtering themselves, while others leave it to the Workflow Manager\nto do the filtering. The thresholding process can be circumvented by setting this threshold to a value less than the\nlowest possible value. For example, if the detection quality value computed by a component has values in the range 0 to\n1, then setting the threshold property to -1 will result in all detections and all tracks being retained. FEED_FORWARD_TOP_QUALITY_COUNT can be used to select the number of detections to include in a feed-forward track. For\nexample, if set to 10, only the top 10 highest quality detections are fed forward to the downstream component for that\ntrack. If less then 10 detections meet the QUALITY_SELECTION_THRESHOLD , then only that many detections are fed\nforward. Refer to the Feed Forward Guide for more information. ARTIFACT_EXTRACTION_POLICY_TOP_QUALITY_COUNT can be used to select the number of detections that will be used to\nextract artifacts. For example, if set to 10, the detections in a track will be sorted by their detection quality value,\nand then the artifacts for the 10 detections with the highest quality will be extracted. If less then 10 detections meet\nthe QUALITY_SELECTION_THRESHOLD , then only that many artifacts will be extracted. Refer to the Artifact Extraction Guide for more information about artifact extraction.",
"title": "Quality Selection Properties"
},
{
diff --git a/docs/site/sitemap.xml b/docs/site/sitemap.xml
index 2a4a819a2077..080567a2740b 100644
--- a/docs/site/sitemap.xml
+++ b/docs/site/sitemap.xml
@@ -2,157 +2,162 @@
/index.html
- 2025-02-14
+ 2025-03-18daily/Release-Notes/index.html
- 2025-02-14
+ 2025-03-18daily/License-And-Distribution/index.html
- 2025-02-14
+ 2025-03-18daily/Acknowledgements/index.html
- 2025-02-14
+ 2025-03-18daily/Install-Guide/index.html
- 2025-02-14
+ 2025-03-18daily/Admin-Guide/index.html
- 2025-02-14
+ 2025-03-18daily/User-Guide/index.html
- 2025-02-14
+ 2025-03-18daily/OpenID-Connect-Guide/index.html
- 2025-02-14
+ 2025-03-18daily/Media-Segmentation-Guide/index.html
- 2025-02-14
+ 2025-03-18daily/Feed-Forward-Guide/index.html
- 2025-02-14
+ 2025-03-18daily/Derivative-Media-Guide/index.html
- 2025-02-14
+ 2025-03-18daily/Object-Storage-Guide/index.html
- 2025-02-14
+ 2025-03-18daily/Markup-Guide/index.html
- 2025-02-14
+ 2025-03-18daily/TiesDb-Guide/index.html
- 2025-02-14
+ 2025-03-18daily/Trigger-Guide/index.html
- 2025-02-14
+ 2025-03-18daily/Roll-Up-Guide/index.html
- 2025-02-14
+ 2025-03-18daily/Health-Check-Guide/index.html
- 2025-02-14
+ 2025-03-18
+ daily
+
+
+ /Artifact-Extraction-Guide/index.html
+ 2025-03-18daily/Quality-Selection-Guide/index.html
- 2025-02-14
+ 2025-03-18daily/Media-Selectors-Guide/index.html
- 2025-02-14
+ 2025-03-18daily/REST-API/index.html
- 2025-02-14
+ 2025-03-18daily/Component-API-Overview/index.html
- 2025-02-14
+ 2025-03-18daily/Component-Descriptor-Reference/index.html
- 2025-02-14
+ 2025-03-18daily/CPP-Batch-Component-API/index.html
- 2025-02-14
+ 2025-03-18daily/Python-Batch-Component-API/index.html
- 2025-02-14
+ 2025-03-18daily/Java-Batch-Component-API/index.html
- 2025-02-14
+ 2025-03-18daily/GPU-Support-Guide/index.html
- 2025-02-14
+ 2025-03-18daily/Contributor-Guide/index.html
- 2025-02-14
+ 2025-03-18daily/Development-Environment-Guide/index.html
- 2025-02-14
+ 2025-03-18daily/Node-Guide/index.html
- 2025-02-14
+ 2025-03-18daily/Workflow-Manager-Architecture/index.html
- 2025-02-14
+ 2025-03-18daily/CPP-Streaming-Component-API/index.html
- 2025-02-14
+ 2025-03-18daily
\ No newline at end of file