Forum

Author Topic: Calibrate Reflectance - using only reflectance panels photos for calibration  (Read 4786 times)

michaldolnik

  • Newbie
  • *
  • Posts: 13
    • View Profile
Hello,

I am computing multispectral orthomosaic from multispectral images (camera Micasense Altum).

I am suspecting, that calibration is not done well.

Important note: I don't want to use reflectance calibration with *.csv file values. I don't want to use that file. I want to do it just from images from reflectance panels.

Code I am using:
Code: [Select]
doc.chunk.locateReflectancePanels()
doc.chunk.calibrateReflectance(use_reflectance_panels=True, use_sun_sensor=True)
doc.save()

Is there some problem with the code?
Is there problem with the folder structure of the images? Should be the calibration images in separate folder?

In attachment I am sending fodler structure with my images. I have it basically all in the row.

Thanks

Regards,
Michal

Alexey Pasumansky

  • Agisoft Technical Support
  • Hero Member
  • *****
  • Posts: 15282
    • View Profile
Hello Michal,

locateReflectancePanels method should automatically mask calibration panels and put the related images to the "calibration images" directory in the chunk's contents. Do you see that, if the project is saved after the script run and opened in GUI mode?

Also please note that reflectance values for the panel should be input "manually", if they are not coded in the QR code. Using Python it should be possible to assign the values in the following way:
Code: [Select]
albedo = {"Blue": "0.65952", "Green": "0.67788", "Red": "0.67718", "NIR": "0.66653", "Rededge": "0.6223266"} #panel values
for camera in chunk.cameras:
    if camera.group.label != "Calibration images":
        continue
    for plane in camera.planes:
        plane.meta["ReflectancePanel/Calibration"] = albedo[plane.sensor.bands]
Best regards,
Alexey Pasumansky,
Agisoft LLC