M-XR Docs
  • Welcome
  • Marso
  • Welcome to Marso by M-XR
  • Requirements
    • Capture Requirements
      • Coverage
      • Light Sources
      • Supported RAW Formats
    • Processing Requirements
  • Getting Started
    • Installation
    • Setup
    • Capture
    • Create Job
    • Photogrammetry
    • Processing
  • Using Results
    • Blender
    • Unreal Engine 5+
  • Resources
    • Capturing a Calibration Image
      • Grey Cards | Known Values
        • Spyder Checkr | Datacolor
        • ColourChecker Passport Photo 2 | X-Rite
    • Creating an Exposure Calibration
    • Creating a Light System
    • Photogrammetry Tips
      • Agisoft Metashape
      • Reality Capture
    • Re-Scaling an alembic with Blender
    • Mask Mesh, UV Bleed & Manual UV Unwrap
    • Multiple Machines
    • Advanced features
  • Help & Support
    • Common Issues
    • Known Issues
    • Contact Support
  • Additional Information
    • Processing Times
    • Changelog
Powered by GitBook

2025, M-XR Limited, all rights reserved.

On this page
  • CLI Command Reference
  • Sub-command: User
  • Sub-command: System
  • Sub-command: Job
  • Sub-command: Lights
  • Sub-command: Exposure
  • Sub-command: Develop
  • Sub-command: Process
  • Sub-command: Shaders
  • Sub-command: Status
  • Sub-command: Update
  • Example command sequence for a run through
  • Disabling splash screen
  1. Resources

Advanced features

Follow this page for information regarding advanced features.

CLI Command Reference

Marso supports a Command Line Interface (CLI) for use in programmatic workflows where a GUI would be undesirable. The command structure follows most of the flow of the GUI, the only major functionality that is not included is the queue system as this is left to the user to handle through looping over the commands as they see fit.

N.B. Marso has startup time around ~10 seconds so it is normal for commands that have no processing to take some time to return. All commands are blocking and will return an exitcode.

All commands follow this structure:

M-XR_Marso.exe cli <sub-command> <options>

Sub-command: User

There are three subcommands for user:

M-XR_Marso.exe cli user login

Used to login through the account and activate the machine

M-XR_Marso.exe cli user logout

Used to logout and deactivate the machine

M-XR_Marso.exe cli user status

Will print the current user to the terminal if one is signed in. Also can query the activation status of the machine and the current job.

Sub-command: System

There are two subcommands for system:

Allows for the configuration of the Marso application settings.

Possible arguments:

Specifies the path for Marso to use as its scratch directory while running:

M-XR_Marso.exe cli system configure --scratch-path <path>

Specifies the path for Marso to output the PBR textures to

M-XR_Marso.exe cli system configure --output-path <path>

Toggles whether Marso will delete the cache files for job from the scratch directory upon completion. By default Marso will delete the files.

M-XR_Marso.exe cli system configure --keep-intermediate
M-XR_Marso.exe cli system status

Will print the current system configuration of Marso to the terminal.

Sub-command: Job

There are N subcommands for job:

This command is used to create the job with these two required arguments:

M-XR_Marso.exe cli job create --raw-path <path> --name <name-of-job>

There are then three optional args that can be appended to the above command:

--mode <3D or 2D>

This changes the mode of the job, by default it is set to 3D.

--activate

This will immediately activate the newly created job so it is ready for the next step in the workflow

--lights-csv <path-to-csv>

This lets you input the light system and immediately attach it to the job, from an input CSV file with the heading columns X,Y,Z

This command lists all the jobs created by the currently logged in user

M-XR_Marso.exe cli job list

This command prints the current status and all information about the currently activated job.

M-XR_Marso.exe cli job status

Optionally you can add this argument to query the status of another job by its name:

--name <name-of-job>

This command deletes the job from the given name:

M-XR_Marso.exe cli job delete --name <name-of-job>

This command activates the job from the given name:

M-XR_Marso.exe cli job activate --name <name-of-job>

Activating a job is required for running the other subcomands in the workflow.

This command deactivates the job from the given name:

M-XR_Marso.exe cli job activate --name <name-of-job>

Sub-command: Lights

This must be run with a currently activated job.

M-XR_Marso.exe cli lights --csv <path-to-csv>

This lets you input the light system from an input CSV file with the heading columns X,Y,Z. Each row is then a light in the given light configuration used.

Sub-command: Exposure

This must be run with a currently activated job.

M-XR_Marso.exe cli exposure --raw-path <path-to-file> --distance <distance-to-light> --grey-value <percent-grey>

There is an optional argument which can be added to the above command, to not use the GUI and instead use 4 markers to detect the rectangle on the grey card:

--detect-markers

If you wish to generate the markers then this can only be done through the exposure parameters section of the GUI.

Sub-command: Develop

This must be run with a currently activated job.

M-XR_Marso.exe cli develop [--jpeg,--exr] --exposure <stops+/-> --output-path <path-to-directory>

This command runs the develop process which produces the images for a job to be used in the reconstruction tool of your choice. You can choose between different filetypes by using one of the arguments in the [--jpeg,--exr].

Sub-command: Process

This must be run with a currently activate job.

M-XR_Marso.exe cli process --st-map <path-to-dir-or-file> --abc <path-to-file> --reconstruction-tool <[RealityCapture, AgisoftMetashape]> --resolution <[512, 1024, 2048, 4096, 8192, 16384]> --shaders <ShaderName1 ShaderName2 ...>

This commands starts the main processing operation of Marso on the currently activated job. Arguments that have multiple options you need to pick from are denoted by [,]. There are some optional arguments that can be appended to the command aswell:

--mask <path-to-file>

This argument lets you specify a mesh mask.

--no-uv-bleed

By default the final output textures have a bleed applied to reduce the impact of seams when placed back on the mesh. This option disable the application of the bleed.

Sub-command: Shaders

This command must be run with the currently activated job.

M-XR_Marso.exe cli shaders --list

This will print out the avaialable shaders that can be used in the process subcommand.

Sub-command: Status

This command will print the global status of Marso including the user, the configuratona and the job information

M-XR_Marso.exe cli status

Sub-command: Update

This command will run the updater to check if there is an update and then proceed to update the currently installed version of Marso.

M-XR_Marso.exe cli update --no-launch

Example command sequence for a run through

M-XR_Marso.exe cli user login

M-XR_Marso.exe cli system configure --scratch-path <path> --output-path <path> --keep-intermediate

M-XR_Marso.exe cli job create --raw-path <path> --name <name-of-job>

M-XR_Marso.exe cli job activate --name <name-of-job>

M-XR_Marso.exe cli lights --csv <path-to-csv>

M-XR_Marso.exe cli exposure --raw-path <path-to-file> --distance <distance-to-light> --grey-value <percent-grey>

M-XR_Marso.exe cli develop [--jpeg,--exr] --exposure <stops+/-> --output-path <path-to-directory>

>> DO SOLVE IN EXTERNAL RECONSTRUCTION TOOL

M-XR_Marso.exe cli shaders --list

M-XR_Marso.exe cli process --st-map <path-to-dir-or-file> --abc <path-to-file> --reconstruction-tool <[RealityCapture, AgisoftMetashape]> --resolution <[512, 1024, 2048, 4096, 8192, 16384]> --shaders <ShaderName1 ShaderName2 ...>

Disabling splash screen

During the startup phase for Marso a splash screen is presented while it loads. This can be incovenient for some people, especially when using the CLI.

To disable set this environment variable PYINSTALLER_RESET_ENVIRONMENT=1 .

PreviousMultiple MachinesNextCommon Issues

Last updated 2 months ago

This command runs the exposure calibration tool on the calibration image of the grey card used for exposing the scan. This will open a GUI element for selecting a rectangle on the image frame for the grey tile.

⚠️
Page cover image