Method for identifying individual trees in airborne lidar data, comprising the steps of: a. obtaining lidar data of a group of one or more trees to be separated into individual trees, the lidar data comprising a plurality of lidar data points; b. define voxels in a regular 3D grid on the basis of the lidar data points; c. applying an image segmentation algorithm to obtain at least one segment comprising a subset of the 3D voxels; wherein the following steps are performed if at least two segments are obtained in step c.: d. for each of a first segment and a second neighbouring segment of said at least two segments: I. find the root voxel of said segment, the root voxel being a voxel having the lowest height of the voxels of said segment; II. find the branch voxels of said segment, wherein a branch voxel is a voxel connected directly or indirectly to the root voxel; e. merging the first segment and the neighbouring second segment if: I. the distance between the root voxel of the first segment and the root voxel of the second segment is less than a first threshold; and II. the distance between the root voxel of the first segment and the closest branch voxel of the second segment is less than a second threshold; and III. the distance between each of the branch voxels of the first segment and the corresponding closest branch voxels of the second segment is less than a third threshold. a. obtaining lidar data of a group of one or more trees to be separated into individual trees, the lidar data comprising a plurality of lidar data points; b. define voxels in a regular 3D grid on the basis of the lidar data points; c. applying an image segmentation algorithm to obtain at least one segment comprising a subset of the 3D voxels; wherein the following steps are performed if at least two segments are obtained in step c.: d. for each of a first segment and a second neighbouring segment of said at least two segments: I. find the root voxel of said segment, the root voxel being a voxel having the lowest height of the voxels of said segment; II. find the branch voxels of said segment, wherein a branch voxel is a voxel connected directly or indirectly to the root voxel; I. find the root voxel of said segment, the root voxel being a voxel having the lowest height of the voxels of said segment; II. find the branch voxels of said segment, wherein a branch voxel is a voxel connected directly or indirectly to the root voxel; e. merging the first segment and the neighbouring second segment if: I. the distance between the root voxel of the first segment and the root voxel of the second segment is less than a first threshold; and II. the distance between the root voxel of the first segment and the closest branch voxel of the second segment is less than a second threshold; and III. the distance between each of the branch voxels of the first segment and the corresponding closest branch voxels of the second segment is less than a third threshold. I. the distance between the root voxel of the first segment and the root voxel of the second segment is less than a first threshold; and II. the distance between the root voxel of the first segment and the closest branch voxel of the second segment is less than a second threshold; and III. the distance between each of the branch voxels of the first segment and the corresponding closest branch voxels of the second segment is less than a third threshold.