Qimera Command
Overview
qimera-command
is a utility that exposes a simplified subset of Qimera's processing abilities via a command line interface for the purposes of scripting. While the full, graphical version of Qimera will always provide a richer processing experience, scripting parts of their processing workflow may make sense for organisations with very formalised and/or repetitive procedures. In most cases, qimera-command
will be used to automate the preparation of a project to do as much of the busy work as possible before a human operator takes over processing, inspection and cleaning in the graphical Qimera interface.
Initial releases provide a limited subset of Qimera's features. While this feature set will likely grow in later releases, not all of Qimera's abilities are likely or even capable of being exposed in qimera-command
. Each invocation of qimera-command
will execute a single processing job. More complex processing workflows can then be built up by executing several jobs in series via a sequence of qimera-command
commands. Note that qimera-command
was designed with scripting in mind, not to be a interactive command line interface for human operators. As a result, its command syntax can feel quite verbose and very particular. This is intentional as qimera-command
wants to be 100% sure it understands what it is being told to do and avoids guessing or assuming user intention.
As it is a command line utility, qimera-command
has no desktop or start menu shortcut. To launch it, open a terminal, navigate to the {{bin}} directory of your Qimera installation and run qimera-command.exe
or ./qimera-command
depending on the conventions of your operating system. Users can also add this path to their environment variables and then run the commands from any directory. Then they can navigate to the project folder and not have to pass the --project folder argument for most jobs. For the remainder of this document we will use Windows syntax.
qimera-command
aims to be largely self documenting via its command line help. To begin, run qimera-command.exe --help
. In addition to explaining some general command line flags, this will list all the job types that can be passed to the --job
flag. To learn about the behaviour and input to a particular job, run qimera-command.exe --job=<job-name> --help
. Each job type takes a specific set of flags, although many flags are common to multiple jobs.
Flags must be introduced with a double hyphen (dash). For flags that take a value, that value may be specified using an equal sign (--flag=somevalue
) or a space (--flag somevalue
). The order of flags on the command line is typically not important. Some jobs can also take a list of position arguments at the end of the command line, which are not introduced by flags. Special characters (spaces, new lines, asterisks, etc.) must be properly quoted or escaped according to the rules of your shell or scripting language. For example: --project-folder="E:\My Projects\Initial Survey" --file=My\ File\ with\ Spaces.txt --note="***Uncorrected Values***"
While running the given job, qimera-command
may print relevant information to the command line. When the job is finished successfully, qimera-command
will complete with an exit code of 0. All other exit codes indicate a failure of some kind, with an explanatory message printed to the command line.
Jobs
Create Project
This job creates an empty project.
create-project | Arguments |
---|---|
--project-folder <path> | The project folder to create. Must not exist. |
--survey-type <text> | Optional argument to set the survey type. Pass in quotations if contains spaces. |
--description <text> | Optional argument to set the description of the project. Pass in quotations if contains spaces. |
--epsg-code <number> | The EPSG code specifying the projected project coordinate system. |
--wkt-file <file-path> | The path to a text file containing WKT specifying the projected project coordinate system. |
Add Raw Sonar Files DB
This job adds ".db" raw sonar files to a Qimera project.
add-raw-sonar-files-db | Arguments |
---|---|
--project-folder <path> | The project folder. |
--folder-path <path> | A folder containing the files you wish to add to the project. |
--print-progress | Print job progress to the command line. |
Arguments: Files | To specify the files to add to the project you can use the --folder-path flag or you can pass a series of single file paths to raw files as positional arguments. |
Add Raw Sonar Files All
This job adds ".all" raw sonar files to a Qimera project.
add-raw-sonar-files-all | Arguments |
---|---|
--project-folder <path> | The project folder. |
--folder-path <path> | A folder containing the files you wish to add to the project. |
--epsg-code <number> | The input epsg code for the file(s) you wish to import. |
--wkt-file <path> | The input wkt for the file(s) you wish to import. |
--print-progress | Print job progress to the command line. |
Arguments: Files | To specify the files to add to the project you can use the --folder-path flag or you can pass a series of single file paths to raw files as positional arguments. |
Create Dynamic Grid
This job creates a dynamic grid using all raw sonar files loaded in the provided project.
create-dynamic-grid | Arguments |
---|---|
--project-folder <path> | The project folder. |
--name <text> | The name of the dynamic grid you would like to create. |
--cell-size <number> | Optional argument that lets you choose the cell size of the dynamic grid in the project's survey units. |
--wkt-file <path> | The input wkt for the file(s) you wish to import. |
--cube-config <text> | Optional argument that lets you specify the configuration to use when creating a CUBE grid. Config Options: Default Deep Shallow Custom NOAA_0.5m NOAA_1m NOAA_2m NOAA_4m NOAA_8m NOAA_16m NOAA_32m |
--print-progress | Print job progress to the command line. |
Append to Grid
For each dynamic grid in the provided project this job appends all raw sonar files that are not already contained in that dynamic grid.
append-to-grid | Arguments |
---|---|
--project-folder <path> | The project folder. |
Auto Process
Will process all the data present in the project folder
auto-process | Arguments |
---|---|
--project-folder <path> | The project folder |
--print-progress | Print job progress to the command line. |
Run Filter Profile
This job runs the specified filter on all the raw sonar files in the provided project.
Note: when -h
is used it will provide a overview of “User defined” filters present
run-filter-profile | Arguments |
---|---|
--project-folder <path> | The project folder. |
--filter <filter-name> | The name of the filter to run. Must be one of the following. Filter names containing spaces must be quoted. |
--print-progress | Print job progress to the command line. |
Export NOAA CSV
Export the data into a NOAA CSV file, all the data present will be exported in a single csv file.
export-noaa-csv | Arguments |
---|---|
--project-folder <path> | The project folder. |
--output-filename <filename> | The name of the exported NOAA csv file. |
Export GeoTIFF
Export the Dynamic Grid’s to a GeoTIFF file.
export-geotiff | Arguments |
---|---|
--project-folder <path> | The project folder. |
--depth-layer <average> | The depth layer. (Shallow, Average, Deep or Cube) |
--export-world-file | Export the TIFF world file? |
--origin <lower-left> | Origin of the GeoTIFF world file. (lower-left or upper-left) |
Arguments: grid-names | The list of the grid file names. Note: positional argument. So no need to add any flags. Just add the list of grid names to the end of the command |
Export BAG
This job exports a BAG file for a dynamic grid
export-bag | Arguments |
---|---|
--project-folder <path> | The project folder. |
--grid-name <grid-name> | The dynamic grid to export. |
--version <15> | Choose to export to a version 14 or 15 file. |
--output <compute-tvu> | stddev, attached-scalar, cube-uncertainty, compute-slope-corrected-uncertainty, compute-tvu, loaded-scalar |
--scalar-path <path> | Set this to the path of the scalar file if |
--date <2024-08-09> | Directly specify a date for the export. Use the format: yyyy-MM-dd |
--xml-date | Use the date in the bag-metadata-xml file. |
--compression <0> | Compression value for the BAG file. Select a number between 0 and 5. |
--bag-xml-metadata <filename> | The BAG XML metadata file. These files can be generated here: Export to BAG Surface Wizard |
--depth-layer <average> | The depth layer of the grid to be exported. (Shallow, Average, Deep or Cube) |
Export GSF
export-gsf | Arguments |
---|---|
--project-folder <path> | The project folder. |
--export-folder <path> | The folder to export the GSF files to. |
--filename-pattern <%v\%f> | The pattern of the exported filenames. %f: Source file name. %v: vessel name. %s: system name |
--replace-whitespace | Replace whitespace with underscores in the exported filename |
--export-systems-individually | Export each system to their own file. |
--specific-system <1> | Export a specific system by index. |
--exclude-user-additional-soundings | Exclude user additional soundings in the GSF export. |
--exclude-raw-backscatter-imagery | Exclude raw backscatter imagery in the GSF export. |
--do-not-flag-filtered-as-manual-edits | Do not flag filtered soundings as manual edits in the GSF export. |
--flag-all-interpolated-soundings-as-accepted | Flag all interpolated soundings as accepted in the GSF export. |
Arguments: Source file names | The list of source file names to export. |
List Systems
list-systems | Arguments |
---|---|
--project-folder <path> | The project folder. |