USER MANUAL

8. Post-Processing a Scan

Opening a Scan

After scanning is finished, all captured frames are saved in a file with an .ascan extension. These files are saved on a PC/laptop a scanner is connected to. These files can then be processed either on the same computer, or can be transferred to any other computer to be processed in Calibry Nest.

There are several ways of opening a scan in Calibry Nest:

  1. By using Open button on the Main Toolbar

  2. By choosing Open in a File Menu

  3. By dragging a scan from a folder and dropping it into the Calibry Nest window

  4. By double-clicking on a scan file in its location folder

  5. By double-clicking on a scan in the list of scans on the Scanner Panel

  6. By selecting a scan from the list on the Scanner Panel and clicking the Open button

  7. By using Ctrl+O hotkey shortcut and picking a scan for processing

When a particular scan is opened, its name appears on the left-side panel (Files Panel) and so-called preview is shown. It is not a complete data set, but just 100 frames taken evenly throughout the scan to show its general structure. This preview is a lightweight representation of the entire point cloud. To see all the points of the scan — click frames. You can also expand the frames list and take a look at any single frame or select a group of frames. Every frame contains a small portion of the entire point cloud. Frames marked with a pink square also contain texture data.

a single frame

several frames

preview (100 frames)

full point cloud

Navigation in Editing Area

  • Moving: press and hold both right and left mouse buttons to move the model

  • Rotation: press and hold left mouse button to rotate the model around the selected point

  • Zoom in/out: scroll mouse wheel back and forth

  • Sharp zoom in/out: press right mouse button and move mouse pointer up or down

  • Changing the size of points: hold Alt and scroll mouse wheel (convenient when viewing a single frame)

  • Fit to view: press middle mouse key (or a mouse wheel)

Presets

To turn a raw scan into a polygonal model, Registration and Finalization must be run. Presets are predefined sets of recommended parameters for these processes. You can pick an appropriate preset from the list depending on the type of object and the scanner used. These settings can be changed if need be and saved for further use if necessary.

These presets are particularly useful for new users as they provide safe and robust settings which will work well in most cases.

You can reach these presets either from Main Toolbar or by going to Nest Settings.

Registration

When unprocessed scans are opened in Nest, the data may look noisy and layered. It is totally normal, especially if the scan was made without activating the Live3D mode. Registration analyses the frames and tries to fit them together in the best possible way. Think of it as assembling a jigsaw puzzle.

Registration can be started in one of the following ways:

  • Long-press Start Non-Textured button and select Registration from the drop-down menu

  • Right-click Start Non-Textured button and select Registration from the drop-down menu

  • Press Ctrl+1 hotkey shortcut (hotkey can be changed in Settings if needed)

  • Go to Files —> Start —> Stages —> Registration

  • Press Registration button on Process stages panel (This panel is hidden by default. Right Click Main Toolbar and pick Process Stages to see it.)

  • Press Start Non-Textured button to run registration and finalization in sequence

  • Press F5 to run registration and finalization in sequence

The result of registration is a new point cloud, the shape of which is much closer to the shape of a scanned object. In some cases the difference before and after registration may be barely visible, in some other cases it may be substantial and obvious. Generally speaking, both scans in the example below should look the same after registration, but the scan without Live3D usually takes longer to be processed.

A scan made without Live3D before registration

A scan made with Live3D before registration

Scans after registration and cleaning

Preliminary Cleaning

Unprocessed scans may contain certain amount of noise picked up during scanning. This noise may appear due to glares, reflections or poor calibration. In most cases it is recommended to clean scans during registration. It is done by default, but cleaning may be deactivated in Settings if desired — just uncheck Preliminary cleaning before starting registration. It may be useful when scanning hair, because it creates a lot of noise and filtering may delete substantial part of useful data. Deactivating Preliminary cleaning may also be helpful when the object has deep indentations or if the surface is generally difficult to scan — it will preserve more points, but the result may end up having a rough surface.

This example shows how outlines of the object become clearer after filtering, but poorly scanned or hard-to-reach areas may lose parts of their data. In this case it is especially prominent on the rim of the table, but this area is not the focus of the scan and it will be marked as irrelevant data anyway.

Preliminary cleaning OFF

Preliminary cleaning ON

Priority Mode

Most scans contain areas that are not intended to be scanned, like floors, tables or additional geometry. Priority Mode is a simple way to mark such areas as irrelevant to avoid finalizing them, thus saving post-prosessing time and making further multi-scan processing easier. Of course, needless data can just be deleted from the point cloud, but it is better to keep it intact to preserve internal consistency and cohesiveness of a scan. This is especially important when a final model is assembled from several separate scans.

To activate Priority Mode, click the corresponding button on Main Toolbar. The entire data set will change color from green to golden. It means that all points are considered important by default.

After that, either needless areas can be selected and marked as Support Geometry, or the areas of interest can be selected and marked as an Object. As a result, needless areas will change color to semi-transparent green, whereas useful data will remain golden. On the finalization step only golden data will be finalized. Priority selection can, of course, be edited at any moment or Priority Mode can just be deactivated. In this case all data will be finalized.

To select a certain area, click on Frames to switch from preview to entire point cloud and then use selection tools from Side Toolbar to highlight a certain region. Highlighted area then can be marked either as Object or as Support Geometry with the use of corresponding buttons on the Main Toolbar:

Follow these steps to select and mark an area as the Object:

Follow these steps to select and mark an area as Support Geometry:

The final result of Priority Mode mark-up should look like this (with object of interest being golden and all the rest being semi-transparent green):

This example shows Priority Mode selection on a point cloud, but it is also possible to mark priority regions on a finalized result.

Finalization

Finalization creates a polygonal mesh based on a point cloud and finalization parameters.

Before starting finalization, it is usually a good idea to check its settings. They include:

  • Resolution

  • Hole filling

  • Sharpness

  • Marker removal

  • Filtering by size

  • Simplification

These settings are covered in more details below.

Finalization can be started in one of the following ways:

  • Long-press Start Non-Textured button and select Finalization from the drop-down menu

  • Right-click Start Non-Textured button and select Finalization from the drop-down menu

  • Press Ctrl+2 hotkey shortcut (hotkey can be changed in Settings if needed)

  • Go to Files —> Start —> Stages —> Finalization

  • Press Finalization button on Process stages panel (This panel is hidden by default. Right Click Main Toolbar and pick Process Stages to see it.)

  • Press Start Non-Textured button to run registration and finalization in sequence

  • Press F5 to run registration and finalization in sequence

The finalized result is shown on the Files Panel as an orange circle with a random name. If a mouse pointer hovers over the name of the result, a pop-up window appears with points and faces (triangles) counters.

There may be many results, because it is possible to finalize the same point cloud multiple times with different setting to see what works best. There is no need to run Registration again if you only want to tweak some finalization parameters.

If the name of the scan is selected, the newest available result is shown instead of a point cloud preview. To see the particular result, click on it. The name of the result can be changed by using the Rename command in its context menu. It might be useful to add comments to the names as shown below.

Following sections cover each finalization parameter in more detail.

Resolution

Resolution defines how detailed the resulting polygonal model will be. Its value is defined in millimeters or in fractions of a millimeter. The smaller this value is, the more detailed the final result will be. But it also means that this result will be comprised of more polygons (i.e. triangles) and thus will take longer to generate, may be more difficult to work with and will require more memory to store. Plus, there is a reasonable limit after which setting a higher resolution just doesn't increase the quality of a model, but only makes it needlessly bulky and unpractically difficult for a computer to process and manipulate.

So, the lower this value is, the higher the resolution of a model.

The highest recommended resolution for 3D-models made with Calibry is 0.6mm. But if this value is set for a large object like a car, the model will be unpractically heavy. So for bigger objects this value is usually set in the range of 1-3mm.

Calibry, resolution 0.6mm

Calibry, resolution 1.0mm

With Calibry Mini, the highest resolution is 0.15 mm, but using this value for objects larger than 10cm is usually unpractical. For objects of about 10-30cm in size the recommended value is 0,2mm. For objects larger than 30cm resolution of 0.4mm is usually optimal.

Calibry Mini, resolution 0.2mm

Calibry Mini, resolution 0.4mm

Hole Filling

In many cases it can be difficult to scan the entire object from all possible angles and capture all folds, mounting holes, and indentations. So, the final result may contain holes.

Quite often some of these holes may be filled automatically by extrapolating the data using the edges of the hole. It works especially well on organic shapes like statues, humans or free-flowing surfaces, but sometimes can give a decent result even with industrial parts, especially if holes are relatively small and are not situated in the areas of abrupt geometrical changes.

In Nest holes can be filled either during finalization, or after finalization. Usually the best strategy is to fill small holes during finalization and then decide what to do with the bigger ones — you can either try to fill them too, or make another scan if the missing areas are critical and substantial in size.

The following example shows the difference between filling no holes during registration, filling holes smaller than 5mm, and filling all holes:

On large holes with irregular and rugged edges the appearance of artifacts during hole-filling is more likely. In such cases making an additional scan is preferable.

Sharpness

Apart from resolution, the final look of a model depends on sharpness settings. It is a slider in finalization options that defines how smooth or rough the surface of the model will be. Keep in mind that the default position of this slider is in the middle and it is recommended to keep it there in most cases. Still, setting it to a lower value may help to make the result less grainy if the point cloud is noisy or not dense enough. On the other hand, increasing sharpness can make corners and edges more pronounced.

Lower sharpness levels are mostly used for organic shapes like statues or humans. Higher sharpness levels may prove useful for industrial parts with sharp edges. Nonetheless, it is recommended to start with medium sharpness first.

Low sharpness

High sharpness

Markers Removal

When scanned with markers, a surface of a model can end up having small bumps in places where markers were applied. It is especially true with magnetic markers, because they are thicker than sticky markers. For many industrial applications, like reverse engineering, it doesn't play a big role and these bumps may be ignored. Still, for some other purposes and for aesthetic reasons these bumps can be removed during finalization. For this to happen, Remove markers checkbox has to be activated in finalization settings and marker radius should be specified.

It is important to emphasize that this value is a radius of the entire marker, including its rim. Plus, if you're using square marker stickers, the radius should be equal to half the diagonal of the square. It is also usually a good idea to increase the radius 1mm just to make sure a marker is safely in the cutting boundaries. So, for example, if a marker is 22 mm in diameter (including the rim), 12mm radius value should be set (11mm radius of the marker + 1 mm safety gap).

A surface without markers removal

A surface with markers removal

Since marker removal algorithm just cuts holes and then fills them, it is recommended not to apply markers to the edges of the object or to the areas of high curvature, otherwise artefacts may appear during markers removal:

An example with different types of markers

The result without markers removal

The result with markers removal (12mm)

In the example above both round and square markers are shown with some of them being on the edge. The marker removal radius used in this example worked great with round markers, but wasn't sufficient for square markers, hence the corners of square markers are seen after markers removal. Plus, markers removal on the edge spoils the geometry of the object.

Simplification

After finalization is complete, it may turn out that the result consists of unpractically big number of triangles. In many cases it is possible to rebuild the model by replacing groups of smaller triangles with equivalent bigger ones, thus reducing complexity of a model without sacrificing its quality.

It is especially true for parts with lots of smooth surfaces and planes where geometry doesn't change much. The algorithm tries to simplify such surfaces first, while leaving more triangles on corners and bends to better preserve them. This adaptive property makes simplified models more optimized, with a denser mesh where it is needed and a lighter mesh where the shape is relatively featureless and plain.

In Calibry Nest simplification can be run either as a part of finalization or after finalization is complete (with a separate tool on the Side Toolbar). The settings and algorithms are the same in both cases, so the choice is yours. With simplification during finalization it is impossible to see the result before simplification.

You can either choose the percentage of simplification, or set a specific number of triangles you want to get as a result. For example, if a model consists of ten million polygons, simplifying it to 40% of the original will reduce the number of triangles to four million. With the same effect, the Absolute checkbox can be set and the desired value of polygons can be entered. Note that the actual amount of triangles can be slightly different, but it will not be bigger than the limit.

Filtering by Size

During finalization small polygonal fragments may appear around the object. It is especially true if preliminary cleaning was deactivated during registration: small clusters of stray points often cause the appearance of these artifacts. In most cases they are not touching the main object and can be easily filtered out.

Another case is when Priority Mode selection was incomplete and some parts of additional geometry end up on the final result.

Also, if an object can only be scanned on a place where it is installed, needless parts of the mechanism or machinery may also get into the field of view of the scanner and become parts of the scan. They can either be marked as needless geometry during Priority Mode selection, or can be filtered out during finalization or during later stages of post-processing.

There are two options available with the filtering tool. Leave the biggest part deletes all parts of a model except from the biggest one. It works great when it is obvious that all floating parts are needless and the object is much bigger than all other elements. Use caution when a model is on a table or a floor — sometimes the surface around the object may turn out to be bigger than the object itself. In such cases this command will leave the table/floor, but delete the object. Another option is to remove parts smaller than the specified amount of triangles. It helps to remove parts smaller than the specified margin, while leaving bigger parts which may be useful.

A model with rims of a turntable. None of the stray parts are touching the object.

The same model with parts smaller than 2000 polygons being filtered out.

The same model after filtering with Leave the biggest part option activated.

Filtering can also be done separately with the help of a tool of the same name situated on the Side Toolbar, described in Chapter 10: Tools and Toolbars.

Texturing

If during scanning texture frames were captured and saved, texturing can be done after finalization. By default, every 20th frame contains texture data for that purpose. This value is not related to the type of tracking. Calibry scanners are capable of capturing color data in all three tracking modes.

The only parameter available in the settings regarding texturing is the dimensions of the texture atlas. It is a PNG-file stored with a model, that contains all the color data. The values of 1024x1024, 2048x2048, or 4096x4096 pixels can be chosen. Since this parameter does not affect the time it will take to texturize, in most cases maximum value is recommended, though the size of such an atlas may reach up to 50MB.

To start texturing, pick the result you want to texturize, click Texturing or use hotkey F6. If there are several results in a scan and a scan name is selected, the newest result will be used for texturing by default.

If the result picked for texturing contains more than 700 000 polygons, the hint will be displayed that it may be a good idea to simplify the model before texturing. In most cases it is recommended to confirm simplification, otherwise texturing may take a long time. The original result will not be simplified, though. Nest will make a copy, and then simplify and texture the duplicate.

This prompt also shows the amount of polygons in the model. If it is not very far from 700 000 polygons, the simplification step can be skipped. In most cases texturing models with more than 1 million polygons is impractical: it takes longer, but doesn't give much in terms of quality.

As a rule, industrial objects are almost never texturized and only a shape of the object is needed. But texturing can be useful for art objects, human scans (to make CGI editing easier) and some merchandize. Here are several examples of texturized models:

Editing Texture

Calibry Nest has several tools for editing texture. These tools are available on the Side Toolbar when a texturized result is selected.

  • Adjust Texture — helps change brightness and contrast of a texture atlas, plus edit the color balance for each of three base colors

  • Luminosity Brush — helps change brightness locally in certain areas (both increase or decrease)

  • Magic Clone Stamp — helps edit texturing defects by replacing them with the adjacent texture

These tools are shown in detail in Chapter 10: Tools and Toolbars.

Saving the Results

Please keep in mind that processed scans and results are not saved automatically. It is done to prevent accidental overwriting of unprocessed data with processed data. Preserving the original scans intact is vital and helps to start anew in case of a mistake.

If needed, a scan (or a group of scans), a point cloud or any result (with or without texture) can be saved at any stage of post-processing.

To save the entire scan with all the frames, results, edits and textures select the scan(s) on the left-side panel and pick Save project as... in the context menu. Choose the path and the name for a file. The scan will be saved in .ascan format. It is not recommended to overwrite the original scans before the projects is complete and the desired result is achieved.

It is also possible to save a point cloud. To do that, right-click Frames and choose Save as. The point cloud will be saved as .ply.

To save a polygonal result (with or without texture), right-click on it in the list of results and choose Save as..., then specify a folder, a name and a format. Available formats are .obj, .stl, .ply, .3mf, .wrl. But if texture is needed to be saved, use .obj or .3mf. If texturized result is saved as .stl, .ply or .wrl, the texture data will be discarded.