Agisoft Metashape
Agisoft Metashape => Python and Java API => Topic started by: kBarra on December 17, 2013, 09:54:04 AM
-
Hi so I'm having a strange issue with opening a new document using python. The command says it succeeds but nothing opens in my scene
here is what is happening...
import os
path = "path_to_file.psz"
os.path.exists(path)
#returns true
new_doc = PhotoScan.Document()
new_doc.open(path)
#now photoscan starts to load the file, this take about 3-4 seconds
#after it finishes it returns True, but the file is empty. It gets stranger...
#I can query the chunks inside of the scene even though I see nothing
chunks = PhotoScan.Chunks(new_doc)
#returns "main_chunk", "main_chunk_1"
#I can even Duplicate the chunk.
mainChunk = chunks[0]
dupChunk = PhotoScan.Chunks(new_doc).add(mainChunk)
If I query the chunks again I will get 3 chunks, not just 2 like before. If I save out this file it has a size of 1KB. What could possibly be going on here? I am almost certain this was working before.
Any help is greatly appreciated
-
Hello kBarra,
When you use new_doc = PhotoScan.Document(), that opens PhotoScan project in memory, but it will exist in parallel to the project opened in GUI. So if you wish to open project in the PhotoScan window, you need to use doc = PhotoScan.app.document.
-
thanks Alexey, you're a lifesaver. Still trying to get use to the subtle differences between a few of these API calls.
-
Hello kBarra,
If you have any other difficulties please feel free to ask.
For example, to get list of chunks in document you can use shorter line:
chunks = new_doc.chunks
And to duplicate chunk with index 0 you can use the following:
new_doc.chunks.add(new_doc.chunks[0].copy())