Forum

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Paulov

Pages: [1] 2
1
General / [SOLVED]why search for matches withing masked area?
« on: December 11, 2025, 08:46:20 PM »
EDIT-->  I did not see there is a how maks operates in the align menu. Regardless seeems to have no effect. I keep doing tests.



As you can see in the attached image, the  car area is target for matches. Despite it is masked. Should that area be off limits for matches of any kind?.

I'm trying to align cameras with a 360 camera mounted on a car and alignment sudendly breaks in perfectly matchable section with a lot of matchiable elements ignored. To my knowedge there are no means to manually add matches between images in the standard version....

2
Bug Reports / colmap camera exports in pro version
« on: October 20, 2025, 11:24:59 PM »

edit, now I tried again and both give error, so I'm not really sure if the problem is in postshoot or metashape itself..

Hello.

I'm testing the pro version wtih the 30 day trial enabled.

when exporting camera to build splats, I export them in colmap format.

It works great in standard version but if I export from pro version I get "failed to load camera poses: Invalid  COLMAP database format.
If I open that exact same project in standard version and re export , all is ok, so seems like there is a bug in teh pro version

3
General / [SOLVED]GPS in exif ignored?
« on: October 19, 2025, 12:18:44 AM »


SOLUTION:
standard does not read gps in exif :(

I installed the demo of professional and as I import I can see the road drawn by all the images due to them bein correctly positioned.

Pro is way too expensive for me :\

Mistery is solved tho.


-----------------------------------------

Hello.


I'm a casual user. I've the standard version.

My previous version was 2.0.1 and I had not touched much since.

I was testing the latest stable releas and I was noticing it has much improved for datasets of a camera on top of a car, when prior would loss track soon after, now seems able to go much much furhter and do not lose scale etc..

the thing is that I had one dataset taken with a virb camera that had gps on board. So each picture is geotaged.

I recall in previous version when importing all the 6K pictures would simply align in the space but now they don´t as gps data seems ignored.

GPS information: -
GPSLatitudeRef - N
GPSLatitude - 41  35  8.620078 (41.585728)
GPSLongitudeRef - E
GPSLongitude - 1  59  22.495548 (1.989582)
GPSAltitudeRef - Above Sea Level
GPSAltitude - 359.99 m

this is the data in the exif,

I surfed the menus and found nothing,

cheers

4
General / Short term pro license or command line for Standard version
« on: June 02, 2024, 01:06:22 AM »
Hi.

I think the jump between tiers is too high. I own the standard version, has a legit price. The only thing I miss is a command line or a better batching tool.

As of now I only use to mesh point clouds and bake normal maps into the low resolution mesh. Ressult is 10/10.


The thing is that from time to time I've to process multiple files and doing so manually is an absolute pain because computing normals and meshing the desne scan clouds in high quality takes very long.


Back in the days I did the trial of the pro, only to try the command line option and with a Python script I was able to do this task gracefully. But paying 3K+€ for a batching option is waaaay to much.

Should be an option wether to have pro access for days/weeks/month or a make the batching be able to work with folders not only with the active chunk. Or make python command line an extra for the Standard,


5
Feature Requests / Import point cloud without normals compute
« on: December 14, 2023, 01:15:03 PM »
Hi.

Ocasionally I need to recolor a mesh using the point cloud that was used originally, but this time the point cloud has received some color corrections in Cloud Compare.

The import process takes very long in big data files of several GB. For a color transfer I believe normals would not be needed so my request would be to add the option checkbox to import a point cloud without computing the normals to have a quick loading instead fo 20-30 minute wait.

6
Feature Requests / Gaussian Splatting
« on: September 23, 2023, 05:50:46 PM »
Hello,

Do you plan to introduce hability to generate Gaussian Splatting?

7
Bug Reports / Cancel fbx model export--> freeze
« on: May 24, 2023, 05:56:23 PM »
Hi,

If I accidentally export a very high face count model, like 23M into FBX and I cancel the save, it does not cancel the save it keeps going, not sure if it keeps saving or just stalls but it won´t cancel.


8
Feature Requests / Export model autonaming
« on: May 24, 2023, 05:54:59 PM »
Hi,

It would be very convenient if when exporting the mesh instead of blank name it had the same exact name that the mesh has inside the chunk.

Keep int mind that some of us are meshing point cloud scans that are already named so having the name already in place would be very convenient.

9
Hello,

I think there may be a bug since I'm trying to get the count of points in a .las file and I'm getting this error.

    points = point_cloud.points #collection of points
AttributeError: 'Metashape.Metashape.PointCloud' object has no attribute 'points'

that is what It is printed,

and poitn cloud is defined as 

point_cloud = chunk.point_cloud #current cloud

and is properly read since I get the logs on screen.

I checked the forums and the code seems corrrect, I checked python reference just in case this had changed, yet seems correct

"class PointCloud.Points
Collection of 3D points in the point cloud"

Could you please check?

version 2.01 build 16069

10
Bug Reports / Build mesh face count stimations totally off
« on: May 09, 2023, 10:42:31 AM »
Hi,

When meshing a point cloud, the preset low, med, high, by the name have a face count stimate when building a mesh out of a point cloud (.las import).

This stimation is completelly off.

Lets say in low stimates are 2.5M, the outcome is 28M. And so on.

Also I've noticed this has worsen from 2.0 beta. Where medium would output a 10,5M and medium now outputs 56M mesh.

Also noticed that for same face count, input manually via "custom"  face count, the latest version seems a bit noisier than in beta, yet I've to say it captures better hard edges.

11
Hi.
I managed to do this using the UI, the ressults are fine, and operation is fast. Yet I was trying to automate such task but I'm having a hard time procesing a folder.

My idea is , I've low resolution meshes in one folder, hi res meshes in another folder. I manage to load the meshes but it seems like the hi res mesh is not loaded, yet I can read the vertex and face count of both in the log, may be not in the same chunk? I found no python reference like chunk.moveTo or similar.

Here is the code at the point I gave up.

Code: [Select]
import os
import Metashape

# Set the paths to the folders containing the low and high resolution meshes
low_res_folder = r'E:/LIDAR_JAPAN/MMS8_Prototype_3/MMS/03_RoadMesh/04_Texturing/01_DATA_SOURCE_POINT_CLOUDS/00_a_mesh_real_coords'
high_res_folder = r'E:/LIDAR_JAPAN/MMS8_Prototype_3/MMS/03_RoadMesh/04_Texturing/01_DATA_SOURCE_POINT_CLOUDS/03_Normals'

# Set the output folder for the normal map texture
output_folder = r'E:/LIDAR_JAPAN/MMS8_Prototype_3/MMS/03_RoadMesh/04_Texturing/02_Texture_Outputs/04_NORMAL'

# Get a list of all the files in the low resolution mesh folder
file_list = os.listdir(low_res_folder)

# Create a new document and chunk
doc = Metashape.Document()
chunk = doc.addChunk()

# loop through low res meshes
for file_name in file_list:
    # Import low res model
    low_res_file = os.path.join(low_res_folder, file_name)
    print("low_res_file path:", low_res_file)
    low_res_model = chunk.importModel(low_res_file)

    chunk.resetRegion()

    # Import high res model
    high_res_file = os.path.join(high_res_folder, file_name)
    print("high_res_file path:", high_res_file)
    high_res_model = chunk.importModel(high_res_file)

    if high_res_model is not None:
        high_res_model.move(chunk.model)

        chunk.resetRegion()

        chunk.addReference(high_res_model)

        # Generate the normal map texture
        chunk.buildTexture(texture_size=4096, texture_type=Metashape.Model.NormalMap)

        # Save the texture to the specified output folder
        texture_file = os.path.join(output_folder, os.path.splitext(file_name)[0] + "_normal_map.jpg")
        chunk.exportTexture(texture_file)

        # Print the type of the high res model after it's defined
        print(type(high_res_model))

        doc.remove(chunk)
        print("normal map bake for file = " + file_name)

    else:
        print("No high resolution mesh found for file:", file_name)

12
Texture De-Lighter / tutorial where
« on: May 05, 2023, 04:21:37 PM »
the documentation link points nowhere specifically, what about a clear manual/tutorial link?

13
Texture De-Lighter / sepparate fbx and texture import
« on: May 05, 2023, 04:07:39 PM »
I find crazy that you can´t import the mesh and the texture separatelly. If the fbx has no texture asigned won´t import! neither the texture alone...

14
Hello.

With the aid of GPT did setup a simple script.

I whant to import a folder that is full of point clouds in .ply format. I whant to process them one by one, so import 1 .ply mesh it and save it as .fbx. No colors, just a mesh with normals.

I've two errors, one from license other specific to the script. I've activated a 30 day demo.

"(base) E:\LIDAR_JAPAN\MMS8_Prototype_3\zz_Batch_commands\MMS>python 04_e_NormalTexture_Mesh_Metashape.py
No response from license server
2.0.1
Traceback (most recent call last):
  File "E:\LIDAR_JAPAN\MMS8_Prototype_3\zz_Batch_commands\MMS\04_e_NormalTexture_Mesh_Metashape.py", line 24, in <module>
    import_task = doc.chunk.importPoints()
AttributeError: 'Metashape.Metashape.Chunk' object has no attribute 'importPoints'

"

According to the documentation importPoints is part of the Chunk namespace so not sure why that raises, is it because of license?

importPoints(path=’‘, format=PointsFormatNone, calculate_normals=True[, crs][, shift][,
progress])
Import point cloud from file.
Parameters
• path (string) – Path to point cloud.
• format (PointsFormat) – Point cloud format.
• calculate_normals (bool) – Calculate point normals.
• crs (CoordinateSystem) – Point cloud coordinate system.
• shift (Vector) – Optional shift to be applied to point coordinates.
• progress (Callable[[float], None]) – Progress callback.



Finally, my script:
Code: [Select]
import Metashape
print(Metashape.app.version)
import os

# Set the folder path containing the point clouds
point_cloud_folder_path = "E:/LIDAR_JAPAN/MMS8_Prototype_3/MMS/03_RoadMesh/04_Texturing/01_DATA_SOURCE_POINT_CLOUDS/00_color"

# Create a new Metashape document
doc = Metashape.Document()

# Loop over each file in the folder
for file_name in os.listdir(point_cloud_folder_path):

    # Check if the file is a .ply file
    if file_name.endswith(".ply"):

        # Create a new chunk for the current file
        chunk = doc.addChunk()

        # import all point clouds in the folder
        import_points = doc.chunk.importPoints()
        import_points.path = point_cloud_folder_path + "/*.ply" # or replace with appropriate file extension


        # Get the first chunk in the document
        chunk = doc.chunk[0]

        # Create a new mesh for the chunk
        mesh = chunk.model

        # Set the source data for the mesh generation
        mesh.source_data = Metashape.DataSource.PointCloudData

        # Set the surface type
        mesh.surface_type = Metashape.SurfaceType.Arbitrary

        # Set the face count of the mesh
        mesh.face_count = Metashape.FaceCount.MediumFaceCount

        # Disable vertex color calculation
        mesh.enableColors(False)

        # Set the interpolation
        mesh.interpolation = Metashape.Interpolation.EnabledInterpolation

        # Generate the mesh
        chunk.buildModel()

        # Export the mesh as a .ply file
        mesh_file_name = os.path.splitext(file_name)[0] + ".fbx"
        chunk.exportModel(os.path.join(point_cloud_folder_path, mesh_file_name))

        # Clear the point cloud and remove the chunk to free up memory
        point_cloud.clear()
        doc.remove(chunk)


hopefully is a silly thing :\

15
Feature Requests / [already solved] Filter by Confidence - MESH
« on: February 27, 2023, 03:10:07 PM »
I was trying the new version, I meshed a point cloud form a scan, It does a great job but there is a lot of junk edges. Theese are red when displaying confidence but I find no way to filter theese out like it is possible with points. This seems like a must.

Pages: [1] 2