/// <summary>
 /// Saves the acquisition information in specific files.
 /// The data is stored based on the COLMAP file system.
 /// </summary>
 public static void SaveAcquisitionInformation(DataHandler dataHandler, CameraSetup cameraSetup)
 {
     COLMAPConnector.CreateDirectoryStructureForAcquisition(dataHandler.dataDirectory);
     COLMAPConnector.SaveCamerasInformation(cameraSetup.cameraModels, dataHandler.dataDirectory);
     COLMAPConnector.SaveImagesInformation(cameraSetup.cameraModels, dataHandler.dataDirectory);
     dataHandler.SaveAdditionalSetupInformation(cameraSetup);
 }
Example #2
0
        /// <summary>
        /// Reads the acquisition information to store camera parameters and poses.
        /// </summary>
        public void ReadAcquisitionInformation()
        {
            // Reset the setup's camera models.
            cameraSetup.ResetCameraModels();
            // Check the data directory for source data.
            dataHandler.CheckStatusOfSourceData();
            // Check that the source data directory is configured based on the COLMAP file structure.
            if (COLMAPConnector.DirectoryIsValidForReading(dataHandler.dataDirectory))
            {
                // Read the pose data and camera parameters, and store it into the initial camera models.
                COLMAPConnector.ReadImagesInformation(cameraSetup, dataHandler.dataDirectory, out dataHandler.imagePointCorrespondencesExist);
                dataHandler.SetImageURLs(cameraSetup);
                COLMAPConnector.ReadCamerasInformation(cameraSetup, dataHandler.dataDirectory);
                // Only continue if camera models were successfully parsed.
                if (cameraSetup.cameraModels != null && cameraSetup.cameraModels.Length > 0)
                {
#if UNITY_EDITOR
                    // If needed, provide default parameters for the additional source data information.
                    if (!File.Exists(dataHandler.additionalInfoFile))
                    {
                        dataHandler.SaveAdditionalSetupInformation(cameraSetup);
                    }
#endif //UNITY_EDITOR
                    // Read the additional information, and store it in the camera setup.
                    if (File.Exists(dataHandler.additionalInfoFile))
                    {
                        dataHandler.ReadCOLIBRIVRAdditionalInformation(cameraSetup);
                    }
                }
            }
            // Check whether data has already been processed or bundled.
            dataHandler.CheckStatusOfDataProcessingAndBundling(out isDataReadyForBundling, out isDataBundled, out processedDataInfo);
        }
Example #3
0
        /// <summary>
        /// Reads the acquisition information to store camera parameters and poses.
        /// </summary>
        public void ReadAcquisitionInformation()
        {
            // Reset the setup's camera models.
            cameraSetup.ResetCameraModels();
            // Check the data directory for source data.
            dataHandler.CheckStatusOfSourceData(out sourceColorCount, out sourcePerViewGeometryCount, out sourceGlobalGeometryCount, out sourceDataInfo);
            // Check that the source data directory is configured based on the COLMAP file structure.
            if (COLMAPConnector.DirectoryIsValidForReading(dataHandler.dataDirectory))
            {
                // Read the pose data and camera parameters, and store it into the initial camera models.
                COLMAPConnector.ReadImagesInformation(cameraSetup, dataHandler.dataDirectory);
                COLMAPConnector.ReadCamerasInformation(cameraSetup, dataHandler.dataDirectory);
                // Only continue if camera models were successfully parsed.
                if (cameraSetup.cameraModels != null && cameraSetup.cameraModels.Length > 0)
                {
#if UNITY_EDITOR
                    // If needed, provide default parameters for the additional source data information.
                    if (!File.Exists(dataHandler.additionalInfoFile))
                    {
                        dataHandler.SaveCOLIBRIVRAdditionalInformation(cameraSetup);
                    }
#endif //UNITY_EDITOR
                    // Read the additional information, and store it in the camera setup.
                    if (File.Exists(dataHandler.additionalInfoFile))
                    {
                        dataHandler.ReadCOLIBRIVRAdditionalInformation(cameraSetup);
                    }
#if UNITY_EDITOR
                    // Update the gizmo size.
                    cameraSetup.gizmoSize = CameraSetup.ComputeGizmoSize(cameraSetup.cameraModels);
                    cameraSetup.UpdateGizmosSize();
#endif //UNITY_EDITOR
                }
            }
            // Check whether data has already been processed or bundled.
            dataHandler.CheckStatusOfDataProcessingAndBundling(out isDataReadyForBundling, out isDataBundled, out processedDataInfo);
        }