3D visionHow-to

Switch 3D camera capture parameters per part between scans

How to save and apply named 3D camera capture profiles per part, so ambient-light suppression and exposure change automatically between scans without retuning.

LumaSpec Vision9 min read Share on LinkedIn

On this page 10 sections
  1. 01Why one setting rarely covers two parts
  2. 02Step 1: inventory your part families
  3. 03Step 2: tune one profile per family, once
  4. 04Step 3: store profiles where the application can load them
  5. 05Step 4: apply the right profile before each trigger
  6. 06Step 5: verify each switch, not just the first
  7. 07A worked example
  8. 08When the usual answer is wrong
  9. 09Checks before you commit the design
  10. 10Questions

A 3D camera tuned for one part often fails on the next. Dark plastic absorbs the projected pattern, polished metal scatters it, and a setting that gives a clean cloud on matte surfaces leaves holes on the difficult one. The usual workaround is hand-tuning in the camera's own control tool between part changes, which does not survive contact with a production schedule.

This guide shows you how to set up named capture profiles per part family, apply the right one automatically before each scan, and verify the switch worked. It is written for anyone running a 3D sensor over mixed production, whether the camera is driven from a custom application or from a vision controller on the cell.

Why one setting rarely covers two parts

A structured-light or laser profiler exposes for the light it projects, and it also tries to reject the light it did not project: overhead lighting, sunlight through a window, reflections from neighbouring machines. Exposure time and ambient-light suppression sit in tension. Raise suppression and you reject more of the environment but lose some signal from dark surfaces. Lengthen exposure and dark parts fill in, but ambient light has more time to corrupt the measurement.

So the right values depend on the part:

  • Matte, mid-grey parts under controlled lighting: defaults usually work.
  • Dark rubber or black plastic: longer exposure, often two to eight times the default.
  • Shiny or curved metal: stronger suppression plus careful placement, or a different light strategy altogether.

If your production mixes these families, you need at least two profiles. A projected structured-light 3D camera covering such a mix is a typical case: the default profile handles most parts, and a long-exposure, high-suppression profile handles the dark ones.

Step 1: inventory your part families

List every part the cell scans and sort them into families by surface and geometry, not by part number. Ten part numbers often collapse into two or three families. For each family note:

  • Surface finish and colour (matte, dark, shiny).
  • Whether the scan fails today on the default profile, and where in the cloud it fails.
  • The cycle time budget, because a longer exposure costs scan time on every shot of that family.

Keep a default profile even if no family strictly needs it. It is your baseline for comparison and your fallback when a profile file goes missing.

Step 2: tune one profile per family, once

Tune in the camera vendor's own configuration tool, offline, with a real part in the fixture. Work from the default set and change one parameter at a time:

  1. Scan the part with the default profile and mark where the depth map drops out or gets noisy.
  2. Double the exposure time and scan again. Repeat until those regions fill in or exposure is clearly not the limit.
  3. If ambient light shows up as jitter between scans of an unmoving part, raise ambient-light suppression one step at a time until the jitter settles.
  4. Check that the change did not break the good regions: compare point counts and flatness on a known surface against the default profile.
  5. Save the result under a family name, not a person's name or a date.

Write the values down even though the tool saves them. A paper record of exposure and suppression per family has rescued more than one line after a controller was reimaged.

Step 3: store profiles where the application can load them

Most 3D cameras and profilers let you export a settings set to a file and load it again later. Put the files somewhere the application reads at run time, for example a profiles directory next to the program, with one file per family:

profiles/ default.yaml dark-plastic.yaml shiny-metal.yaml

Keep the master copies in version control. When a profile has to change, edit the master, commit it, and deploy it like any other code change. Hand-edits on the line are how a tuned cell quietly drifts.

Step 4: apply the right profile before each trigger

The switching logic belongs in the application, keyed on whatever tells the cell which part is present: a barcode, the station the pallet arrived from, or a classification from a first pass. The pattern is always the same:

  1. Identify the part family.
  2. If the loaded profile differs from the family's profile, load it and wait for the camera to confirm the apply.
  3. Trigger the scan.
  4. Record which profile was active in the scan's metadata or in your log.

Where the driver only accepts settings at start-up, treat the profile switch as an explicit step: stop acquisition, reapply the settings, reopen the device, then trigger. Measure the switch time once, in milliseconds or seconds, and add it to the cycle budget for the families that need it. If switching is slow, sort parts so families arrive in runs rather than alternating every cycle.

A vision controller sits well here because the switching program and the camera driver run on the same box; a model like the MV-VC3301H-128G66 gives you the LAN ports for the camera and the light outputs for the illumination in one unit. Related reading on changing capture behaviour at run time: change 3D camera depth resolution and field of view at capture time, which covers the same apply-then-verify discipline for resolution and FOV.

Step 5: verify each switch, not just the first

A profile that loads without an error can still fail to take effect, especially when a driver queues settings asynchronously. Verify with a quick, deterministic check:

  • Scan a reference target with known geometry under each profile and record its measured depth or point count. After a switch, one quick frame against the reference confirms the active profile.
  • Read the exposure value back from the camera after applying, and compare it with the file. Read-back beats a load success message.
  • Log the profile name with every scan result so a mis-switched part can be found and rescanned.

For the exposure values themselves, and how raw numbers relate to physical units, see camera exposure and gain units: interpreting raw values. If profiles silently revert after a power cycle, the likely cause and fix are in auto exposure upper limit not applied: check startup settings.

A worked example

A cell scans two families on the same fixture: grey housings that scan fine with defaults, and black gaskets that leave half their surface as holes. Tuning finds the gaskets need four times the default exposure and two extra steps of ambient-light suppression, which costs roughly 40 ms per scan.

  • Housings run on default, gaskets on dark-gasket.
  • Parts arrive mixed, so the application loads the profile by barcode before each trigger.
  • Read-back after each apply confirms the exposure took effect; a scan takes about 40 ms longer on gaskets, which the cycle budget absorbs.
  • The reference check once per shift proves both profiles are still in place.

Total engineering effort: an afternoon of tuning plus a day of switching and verification logic. That is far less than the recurring cost of an operator hand-tuning the camera every shift.

When the usual answer is wrong

Sometimes no exposure setting rescues the part. Signs that you are at the limit:

  • Raising exposure fills the holes but the noise floor makes the cloud unusable.
  • Suppression strong enough to kill ambient light also kills the projected pattern.
  • The part is so shiny that the measurement fails on geometry, not brightness.

Then the fix is upstream of the parameters: shroud the cell against ambient light, re-angle the camera, add polarization, or switch to a technology that suits the surface, such as a laser profiler scanning line by line instead of a full-field flash. A 3D laser profile sensor handles bright, specular surfaces that defeat a full-frame structured-light shot, because each line is measured with its own exposure. For surfaces that return almost nothing at all, read close range depth dropout on fuzzy surfaces and thin parts for where material and geometry, not settings, cause the dropouts.

Checks before you commit the design

  • Every part family has a named, version-controlled profile file.
  • The application identifies the family before the trigger and applies the profile with a read-back confirmation.
  • The profile switch time is measured and in the cycle budget.
  • A reference scan verifies the active profile each shift.
  • Scan results log the profile name alongside the measurements.
  • A written copy of the tuning values exists outside the controller.

If you are building this cell from scratch, the 3D sensors finder filters profilers and structured-light cameras by type and working distance, and the configurator walks the camera, controller and lighting choices in order. For help matching a sensor to a mixed production, contact us and describe the part families.

Questions

Why do some parts need different 3D capture settings at all?

A 3D camera sets its exposure and ambient-light suppression for one surface at a time. Dark, shiny or deeply recessed parts reflect little structured light, so they need a longer exposure and stronger suppression. Matte, well-lit parts scan fine with defaults. One setting that suits every part rarely exists, so a mixed production needs profiles.

Should I change parameters live during production or restart between parts?

Prefer a live apply at trigger time if your camera interface supports setting these features without a reconnect. If a parameter only takes effect after the device reopens, schedule the switch between part cycles and measure the switch time first. Some drivers also apply a settings file only at start-up, in which case you plan the switch as an explicit step, not mid-scan.

How do I know which exposure and suppression values a new part needs?

Scan the part at the default profile, look at the depth map for dropouts and noise on the worst surfaces, then double the exposure or raise ambient-light suppression one step at a time until those regions fill in. Stop at the first setting that works; extra exposure adds scan time and can pick up more ambient light.

Can one profile with a long exposure cover all parts instead?

Sometimes, but usually not. A long exposure slows every scan and increases the risk that workshop lighting or sunlight corrupts the cloud on easy parts. If easy parts still scan cleanly with the hard parts' profile and cycle time does not matter, one profile is simpler. Otherwise keep two or more.

How do I stop someone from hand-editing profiles on the line?

Store profiles as read-only files or write-protect them in the controller, keep the master copies under version control, and make the application load profiles by part ID rather than by manual selection. Log every profile apply with a timestamp so a drifted setting shows up when you compare scan results.