def parse_synth_out(synth_out_ifp):
        """Parse the :code:`synth_0.out` file in the :code:`MVE` workspace."""
        points3D = []

        with open(synth_out_ifp, "r") as input_file:
            meta_data_line = input_file.readline()

            num_cameras, num_points = MVEFileHandler._readline_as_numbers(
                input_file, target_type=int
            )

            # The camera information provided in the synth_0.out file is incomplete
            # Thus, we use the camera information provided in the view folders

            # Consume the lines corresponding to the (incomplete) camera information
            for cam_idx in range(num_cameras):
                intrinsic_line = MVEFileHandler._readline_as_numbers(
                    input_file, target_type=float
                )
                rotation_mat = MVEFileHandler._parse_rotation_matrix(
                    input_file
                )
                camera_translation = np.asarray(
                    MVEFileHandler._readline_as_numbers(
                        input_file, target_type=float
                    )
                )

            for point_idx in range(num_points):
                coord = MVEFileHandler._readline_as_numbers(
                    input_file, target_type=float
                )
                color = MVEFileHandler._readline_as_numbers(
                    input_file, target_type=int
                )
                measurement_line = MVEFileHandler._readline_as_numbers(
                    input_file, target_type=int
                )
                point = Point(
                    coord=coord, color=color, id=point_idx, scalars=[]
                )
                points3D.append(point)

        return points3D
Parse the :code:`synth_0.out` file in the :code:`MVE` workspace.
photogrammetry_importer/file_handlers/mve_file_handler.py