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.


Messages - Dud3r

Pages: [1]
1
General / Re: Vignetting initialized
« on: May 14, 2018, 02:18:21 PM »
Does anybody have more information on this topic?

2
General / Vignetting initialized
« on: April 26, 2018, 02:13:06 PM »
When importing MicaSense RedEdge imagery, I realized "Vignetting initialized" ouput on the console.
Does that mean that vignetting correction is applied to each image based on the metatags while importing? Or is vignetting correction only applied when performing "Calibrate reflectance"?

In my case I work on MicaSense imagery, that has already been corrected for vignetting (& row gradient & dark level) and converted to Radiance via Python in a previous step (before importing into PhotoScan). Thus it would be unpreferable to have a "second" vignetting correction.

3
General / Re: Meta data to identify multispectral image
« on: April 20, 2018, 12:12:05 PM »
Ok, just for your information.
I haven't been successful with Python libraries (pyexiftool, py3exiv2) to preserve the image tags in a way, that PhotoScan will recognize the altered images as MicaSense multispectral bands. But running the great exiftool from the command line has given me success. The important thing is to copy the XMP tags blockwise via
Code: [Select]
-xmpIf you just use exiftool the normal way and try to copy all tags from one file to another via
Code: [Select]
-allthey will get "translated" or rearranged internally somehow and PhotoScan will not recognize MicaSense imagery. So the final command for transferring all metadata from MicaSense raw images to altered images would be:

Code: [Select]
exiftool -tagsfromfile IMG_0000_1.tif -xmp IMG_0000_1_RAD.tif
exiftool -tagsfromfile IMG_0000_2.tif -xmp IMG_0000_2_RAD.tif

... and so on.
Cheers.

4
General / Re: Meta data to identify multispectral image
« on: April 18, 2018, 12:36:37 PM »
I am curious to know which metadata that Photoscan reads and indentify images as multispectral.

I would be also interested in this question. I tried several ways to copy metadata from the original file to the altered file, via exiftool, eviv2, pyexiftool, py3exiv2 and so on and haven't been successful. Photoscan does not recognize my multispectral files as MicaSense 5-band images. Which ones are the important tags?

5
Bug Reports / Re: Python API inconsistent behavior of chunk attributes
« on: April 10, 2018, 03:26:43 PM »
Besides the "no way to check if a step was done or not" issue

I have the same problem. How would I check in Version 1.4.1 if a workflow step was done? (Assuming I want only 1 dense cloud, 1 model, 1 dem, 1 ortho in my project).

Currently my workflow checks if the dense cloud was build by
Code: [Select]
chunk.dense_cloud is Noneand if a model was build by
Code: [Select]
chunk.model is Noneand if a DEM exists by
Code: [Select]
chunk.elevation is Noneand so on...

6
General / Proper usage of Calibrate Reflectance
« on: January 12, 2018, 03:46:03 PM »
Hi everybody.

I noticed that from Version 1.4.0 there is a new option called "Calibrate Reflectance".

(1) How do I properly apply this to multispectral data?
(2) Is this procedure available from within Python?

We have 6 Reflectance Panels (5%, 10%, 20%, 43%, 55%, 90%) which we put on the ground prior to every multispectral mission (MicaSense RedEdge). See attachement. Note: the targets don't have QR code.
We also do have the calibration sheets for each reflectance panel which give us all the 5x6 Reflectance - CentralWavelength - Combinations possible, see below (2nd attachment)

Up to now, we processed the imagery with Photoscan and calculated the reflectance based on the 6 targets with the empirical line method in GIS afterwards. It would be nice if this process could be handled by Photoscan from now on.

Any help is much appreciated.

7
Python and Java API / Automize Error Reduction - Gradual Selection
« on: December 14, 2017, 03:53:10 PM »
I'd like to automize my workflow as much as possible. After image matching and camera alignment and a first optimization run I usually delete points by gradual selection.

For example for reducing Reconstruction Uncertainty I use a two step algorithm: 2x deleting points based on threshold and optimizing:
Code: [Select]
def reduce_errors_ru(chunk, thresh=20, config_optimize):
    """ Reduce Reconstruction Uncertainty """
    print(" -> Reconstruction Uncertainty Threshold: {0}".format(thresh))
    pc = chunk.point_cloud
    pnts_init = len(pc.points)
    print(" -> Points before Reconstruction Uncertainty Reduction: {0}".format(pnts_init))
    fltr = ps.PointCloud.Filter()
    fltr.init(chunk, ps.PointCloud.Filter.ReconstructionUncertainty)
    fltr.selectPoints(2 * thresh)
    pc.removeSelectedPoints()
    pnts_inter = pnts_init - len(pc.points)
    print(" -> Removed {0} points".format(pnts_inter))
    chunk.optimizeCameras(**config_optimize)
    fltr.selectPoints(thresh)
    pc.removeSelectedPoints()
    pnts_end = pnts_inter - len(pc.points)
    log(" -> Removed {0} points".format(pnts_end))
    log(" -> Points after Reconstruction Uncertainty Reduction: {0}".format(len(pc.points)))
    chunk.optimizeCameras(**config_optimize)

I'd like to calculate the ratio of selected points/total points before actually deleting the points.
(1) How do I count currently selected points in Python API?

Also I'd like to check in a subsequent job, if the error (i.e. Reconstruction Uncertainty) was already reduced.
(2) How do I get a measure of Reconstruction Uncertainty/Projection Accuracy... from within Python? Is it possible to see if points with uncertainty larger than a threshold were already deleted?

Any help is welcome.

8
Python and Java API / Re: Assure document has been opened properly
« on: November 24, 2017, 07:57:18 PM »
Thank you Alexey. That is basic Python. Should have thought of this.

9
Python and Java API / Assure document has been opened properly
« on: November 24, 2017, 06:33:12 PM »
Hi,
I'm trying to verify, that my already created Photoscan project has been opened properly:

Code: [Select]
import PhotoScan as ps

pf_proj = '/path/to/my/existing/document.psz'
doc = ps.Document()
    if not doc.open(pf_proj):
        print("ERROR: Could not open document: " + pf_proj)

I always get "ERROR: Cold not open document:", although the document seems opened properly.
Is there another way to check if the document is loaded correctly?

Pages: [1]