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
coordsysAPI. The changes incompatible with the previous release are listed in the “API changes” section.
API changes¶
pix4dengine.create_project()function:- Argument
images_diris renamed toimage_dirs. You have to adapt only if you use the keyword argument; - Argument
processing_proxyis removed; - Argument
templateis removed; - Argument
callbacksis replaced byon_startandon_success; - Argument
recursive_input_searchis added.
- Argument
- The
pix4dengine.processingproxymodule is removed:- The
ProcessingProxyclass is removed and an object of it cannot be passed tocreate_project(),login_seat(),logout_seat(),Pipeline()andEngineTask()anymore; - The
Pipelineand theEngineTaskclasses moved to thepix4dengine.pipelinemodule.
- The
pix4dengine.constants.processing.ProcessingTemplatesis removed. The templates it defined are superseded by those inpix4dengine.pipeline.templates.pix4dengine.utils.processingproxy.Callbacksandpix4dengine.task.Task.Callbacksare removed. Functions taking aCallbacksobject have to be now given theon_start,on_successandon_errorcallables 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.optionsmodule API:AlgoOption.Ortho.MOSAIC_RELATIVE_RESOLUTIONandAlgoOption.Ortho.MOSAIC_ABSOLUTE_RESOLUTIONoptions are added;AlgoOption.Ortho.DTM_RESOLUTIONis replaced byAlgoOption.Ortho.DTM_RELATIVE_RESOLUTIONandAlgoOption.Ortho.DTM_ABSOLUTE_RESOLUTION;AlgoOption.Index.RESOLUTIONis replaced byAlgoOption.Index.RELATIVE_RESOLUTIONandAlgoOption.Index.ABSOLUTE_RESOLUTION;AlgoOption.CameraCalibration.MATCH_TIME_MULTI_CAMERAchanged type frominttobool, its meaning is the same;AlgoOption.Densification.PCL_IMAGE_SCALEchanged its type and allowed values to make them consistent with their meaning;AlgoOption.CameraCalibration.MATCH_STRATEGYis removed. The equivalent pipeline configurations can be set using the newAerialCalibMatchandFreeFlightCalibMatchtemplates;AlgoOption.Mesh.RESOLUTIONoption is removed. The equivalent pipeline configurations can be set using the newMeshNormalRes,MeshHighResandMeshLowRestemplates;AlgoOption.CameraCalibration.SKY_SEGMENTATIONis obsolete and removed.
pix4dengine.coordsysmodule 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.Marknow 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 |