summaryrefslogtreecommitdiffstats
path: root/ml/dlib/tools/imglab/copy_imglab_dataset
diff options
context:
space:
mode:
Diffstat (limited to 'ml/dlib/tools/imglab/copy_imglab_dataset')
-rwxr-xr-xml/dlib/tools/imglab/copy_imglab_dataset22
1 files changed, 22 insertions, 0 deletions
diff --git a/ml/dlib/tools/imglab/copy_imglab_dataset b/ml/dlib/tools/imglab/copy_imglab_dataset
new file mode 100755
index 000000000..8b44ed166
--- /dev/null
+++ b/ml/dlib/tools/imglab/copy_imglab_dataset
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+if [ "$#" -ne 2 ]; then
+ echo "This script copies an imglab XML file and its associated images to a new folder."
+ echo "Notably, it will avoid copying unnecessary images."
+ echo "Call this script like this:"
+ echo " ./copy_dataset some_file.xml dest_dir"
+ exit 1
+fi
+
+XML_FILE=$1
+DEST=$2
+
+
+
+mkdir -p $DEST
+
+# Get the list of files we need to copy, then build the cp statements with 1000 files at most in each statement, then tell bash to run them all.
+imglab --files $XML_FILE | xargs perl -e 'use File::Spec; foreach (@ARGV) {print File::Spec->abs2rel($_) . "\n"}' | sort | uniq | xargs -L1000 echo | xargs -I{} echo cp -a --parents {} $DEST | bash
+
+convert_imglab_paths_to_relative $XML_FILE > $DEST/$(basename $XML_FILE)
+