Version 1.0.0¶
Pix4Dengine Server SDK 1.0.0 is a stable release. It follows semantic versioning.
What’s new¶
- Windows support is added.
- Project names can contain all unicode characters except those forbidden for file names by any of POSIX and Win32.
- Projects with images in multiple directories can be created.
- Images directories can be searched for images recursively at project creation.
- Users holding both an ENGINE-SERVER and an ENGINE-CLOUD license are now allowed to login by
specifying a license key when calling
pix4dengine.login_seat()
. - Added support for radiometric indices with
pix4dengine.options.AlgoOption.Index.INDICES
. - Extended multispectral processing support with additional algorithmic and export options.
- Additions, removals, and other changes to algorithmic options that improve coherency of the configuration given to the photogrammetry pipeline. Changes incompatible with the previous release are listed in the “API changes” section.
- A new concept of processing templates. Templates are now defined in terms of Engine SDK options. They are applied to processing pipelines rather than projects. XML templates (.tmpl files) are not supported any more.
- A revised
coordsys
API. The changes incompatible with the previous release are listed in the “API changes” section.
API changes¶
pix4dengine.create_project()
function:- Argument
images_dir
is renamed toimage_dirs
. You have to adapt only if you use the keyword argument; - Argument
processing_proxy
is removed; - Argument
template
is removed; - Argument
callbacks
is replaced byon_start
andon_success
; - Argument
recursive_input_search
is added.
- Argument
- The
pix4dengine.processingproxy
module is removed:- The
ProcessingProxy
class is removed and an object of it cannot be passed tocreate_project()
,login_seat()
,logout_seat()
,Pipeline()
andEngineTask()
anymore; - The
Pipeline
and theEngineTask
classes moved to thepix4dengine.pipeline
module.
- The
pix4dengine.constants.processing.ProcessingTemplates
is removed. The templates it defined are superseded by those inpix4dengine.pipeline.templates
.pix4dengine.utils.processingproxy.Callbacks
andpix4dengine.task.Task.Callbacks
are removed. Functions taking aCallbacks
object have to be now given theon_start
,on_success
andon_error
callables directly.pix4dengine.pipeline.EngineTask.append_config()
is renamed toupdate_config()
.pix4dengine.process_project()
is removed. Project processing must be done exclusively through the more general task pipeline mechanism, usingpix4dengine.pipeline
.pix4dengine.Project.set_options()
is removed. Options must be set exclusively through processing tasks.pix4dengine.options
module API:AlgoOption.Ortho.MOSAIC_RELATIVE_RESOLUTION
andAlgoOption.Ortho.MOSAIC_ABSOLUTE_RESOLUTION
options are added;AlgoOption.Ortho.DTM_RESOLUTION
is replaced byAlgoOption.Ortho.DTM_RELATIVE_RESOLUTION
andAlgoOption.Ortho.DTM_ABSOLUTE_RESOLUTION
;AlgoOption.Index.RESOLUTION
is replaced byAlgoOption.Index.RELATIVE_RESOLUTION
andAlgoOption.Index.ABSOLUTE_RESOLUTION
;AlgoOption.CameraCalibration.MATCH_TIME_MULTI_CAMERA
changed type fromint
tobool
, its meaning is the same;AlgoOption.Densification.PCL_IMAGE_SCALE
changed its type and allowed values to make them consistent with their meaning;AlgoOption.CameraCalibration.MATCH_STRATEGY
is removed. The equivalent pipeline configurations can be set using the newAerialCalibMatch
andFreeFlightCalibMatch
templates;AlgoOption.Mesh.RESOLUTION
option is removed. The equivalent pipeline configurations can be set using the newMeshNormalRes
,MeshHighRes
andMeshLowRes
templates;AlgoOption.CameraCalibration.SKY_SEGMENTATION
is obsolete and removed.
pix4dengine.coordsys
module API:wkt_to_projected_cs()
is renamed towkt_to_cs_name()
;projected_cs_to_wkt()
is renamed tocs_name_to_wkt()
;get_unit_from_projected_cs()
is renamed tounit_from_cs_name()
;get_unit_from_wkt()
is renamed tounit_from_wkt()
;CoordSys.get_cs()
is replaced byCoordSys.get_cs_name()
andCoordSys.get_cs_wkt()
;CoordSys.set_cs()
is replaced byCoordSys.set_cs_from_name()
andCoordSys.set_cs_from_wkt()
;CoordSys.is_in_meter()
,CoordSys.is_in_foot()
andCoordSys.is_in_us_survey_foot()
are replaced byCoordSys.get_length_unit()
.
pix4dengine.exports.get_expected_ouput()
andpix4dengine.exports.get_available_output()
are replaced byget_output()
.
Compatibility issues¶
pix4dengine.utils.gcp.Mark
now references an image by its absolute path rather than by its file name.
Bug fixes¶
- Geotags of Mavic2 drones were read incorrectly.
- Processing hung after finishing if a non-pix4d user account was logged in.
- Creating a GCP mark for an image added the mark to all images whose file names were substrings of the image file name the mark was created for.
Known issues¶
- Externally supplied (in a geolocation file) image geotags for multispectral/multilayer images are not supported.
- When creating a project, the following message is logged: “Unable to find radiometric calibration target: Detection error / AIRCALIB_DETECTION_ERROR”. This message can be ignored for all projects not actually using a target for radiometric calibration.
- Changing the coordinate system of images is not supported.
- Exporting contour lines into a PDF file (
pix4dengine.options.AlgoOption.Ortho.CONTOUR_PDF
) when no such lines were generated, e.g. absense of elevation, does not create a PDF file, whereas the output ofpix4dengine.exports.get_ouput()
suggests that such a file exists.
Supported platforms¶
OS/Distribution | Python |
---|---|
Linux/Ubuntu 18.04 64bit | 3.6 64bit |
Windows 10, Server 2016 64bit | 3.6 64bit |