GET IN TOUCH

PhotoRobot Controls App - Wizard Mode Configuration

In PhotoRobot Controls App (further referred to as “CAPP”), Wizard mode utilizes a series of wizard steps to guide users through various tasks. These steps are defined in a JavaScript-like language format, and can be scripted by PhotoRobot consultants for custom functionality. Users can also script basic functions for initial experiments or simple setups.

Note: The following user manual provides technical instructions on how to configure operator steps in wizard mode. For more general information on capturing in wizard mode on the production-line operator level, see the Getting Started User Manual.

Wizard Mode Overview

Wizard mode enables users to create a configuration of a series of steps which an operator will follow to capture the product. The wizard interface is then limited; typically, it allows the operator to only take a photo, and has no adjustable settings.

Create Wizard

To create a new wizard mode, open the Settings menu in the local app, and use Add Wizard in the top-right part of the interface:

In this menu, there are options to create, edit, and customize wizards: 

  • Wizard name 
  • Item name
  • Notes
  • Presets
  • Workspace
  • Wizard steps

Note: In order to launch a Wizard, it must contain valid Presets, all Workspace configurations, and most importantly the number and names of directory folders. Each of these will then have to match the steps defined in the Wizard for its proper operation.

Wizard Steps

Each Wizard contains a list of steps. The following step types are available:

  • create-item
  • select-item
  • capture-folder
  • import-images
  • liveview

Detailed Step Descriptions

create-item

Description

The create-item step enables the user to create a new item. Users define items as follows and with the following objects.

  • type: "create-item"
  • fields: This array of objects defines the fields for item creation. Fields can include "name", "barcode", "trackingCode", "link", "note", "tags", "workspace". Each field can also be marked as optional.
  • design: This object specifies design aspects like “bgImage” (background image URL) and “bgColor” (background color).

Example

JavaScript:


{
   "type": "create-item",
   "fields": [
       {
           "name": "name"
       },
       {
           "name": "note",
           "optional": true
       }
   ],
   "design": {
     "bgImage": "https://hosting.photorobot.com/images/-ML2QkR2lrhwn5SVMaEu/-NMSZjM-bdArdYcaa9XJ/NORMAL/c3o4fsHCXth55bOAZZNk8A?w=1920"
   }
}

select-item

Description

The select-item step enables the user to select an existing item. Users will typically enable this step when the list of items has already been created, for example after importing from CSV. 

  • type: "select-item"
  • design: This object specifies the design aspects, similar to create-item.

Example

JavaScript:


{
   "type": "select-item",
   "design": {
     "bgImage": "https://hosting.photorobot.com/images/-ML2QkR2lrhwn5SVMaEu/-NMSZjM-bdArdYcaa9XJ/NORMAL/c3o4fsHCXth55bOAZZNk8A?w=1920"
   }
}

capture-folder

Description

The capture-folder step allows the user to capture a folder.

  • type: "capture-folder"
  • title: Title of the step
  • note: Description or instructions for the step.
  • dirName: Name of the directory where images will be stored.
  • optional: If true, this step is optional, and the user can skip it.
  • copy (optional): Copy captured images into another folder.
  • copy toDir: Target folder
  • copy filter: Optional filter, only images matching “swingAbs”, “turnAbs” or “label” will be copied.

Example 1 - Simple folder capture

JavaScript:


{
   "type": "capture-folder",
   "title": "Capture interior",
   "note": "Capture interior with handheld camera.",
   "dirName": "details"
}

Example 2 - Capture folder and copy selected images into another folder

JavaScript


{
 "type": "capture-folder",
 "title": "Capture spin",
 "dirName": "spin",
 "copy": {
   "toDir": "stills",
   "filter": [
     { "swingAbs": 10, "turnAbs": 0 },
     { "swingAbs": 10, "turnAbs": 45 },
     { "swingAbs": 10, "turnAbs": 180 }
   ]
 }
}

import-images

Description

The import-images step allows the user to import images from the disk. Objects within this step include the following.

  • type: "import-images"
  • ​​title: Title of the step
  • note: Description or instructions for the step
  • dirName: Name of the folder where the images will be stored
  • optional: If true, this step is optional, and the user can skip it

Example

JavaScript:


{
   "type": "capture-folder",
   "title": "Capture interior",
   "note": "Import images taken with a handheld camera.",
   "dirName": "interior"
}

liveview

Description

The liveview step turns on the camera liveview. Users will typically enable this to check the position of the object.

  • type: "liveview"
  • note: Description or instructions for the step
  • cameraAngle (optional): Specifies the camera angle for live viewing

Example

JavaScript:


{
   "type": "liveview",
   "title": "Check position",
   "note": "Check the position of the object and make sure it is centered."
}

Example Usage

The following example creates a wizard step for item creation, using fields for name and notes (optional), and a design featuring a background image and color.

JavaScript:


[
 {
   "type": "select-item",
   "fields": [
     {
       "name": "name"
     },
     {
       "name": "note",
       "optional": true
     }
   ],
   "design": {
     "bgImage": "https://hosting.photorobot.com/images/-ML2QkR2lrhwn5SVMaEu/-Nehz_ciyDihw90EgNuy/FINAL/tqZxrqbKZ4exH6y2LFPWUw?w=1200"
   }
 },
 {
   "type": "liveview",
   "title": "Check the position",
   "note": "Check that person is in view.",
   "cameraAngle": 15
 },
 {
   "type": "capture-folder",
   "title": "Capture spin",
   "dirName": "spin"
 },
 {
   "type": "capture-folder",
   "title": "Capture stills",
   "dirName": "stills"
 }
]

Note: This is a generic code to allow initial experiments and simple script setup by PhotoRobot users. Use it to test Wizards functionality, and to run a basic script for experimentation.