A method of using a computer system to assist in planning a trajectory for a surgical insertion into a skull, the method comprising: providing the computer system with a three-dimensional representation of the skull and of critical objects (781, 783) located within the skull, wherein said critical objects comprise anatomical features to be avoided during the surgical insertion; providing the computer system with a target location for the insertion within the skull; generating by the computer system a first set comprising a plurality of entry points, each entry point representing a surface location on the skull, and each entry point being associated with a trajectory from the entry point to the target location; discarding by the computer system entry points from the first set to form a second, reduced set comprising a plurality of entry points, wherein an entry point is discarded from the first set of entry points if the entry point has an entry angle which fails a condition for being substantially perpendicular to the skull surface; and for each entry point in the second set, assessing by the computer system said entry point against a set of one or more criteria, wherein the set of one or more criteria includes a risk factor based on the separation between the critical objects and the trajectory which is associated with said entry point; the method further comprising providing a plurality of target locations, and wherein said one or more criteria for assessing a trajectory include ensuring that the trajectories to respective target locations do not conflict with one another, wherein two trajectories are considered to conflict with one another if they pass within a predetermined distance of each other, and wherein said ensuring comprises, for a set of N target locations having an arbitrary ordering: 1) start n = 1 2) select an n th target point 3) add the lowest risk trajectory for the n th target point 4) evaluate to see if there is a conflict between the n selected trajectories 5) if so, find the combination of n trajectories having the next lowest risk and return to, wherein the risk for the combination of n trajectories is determined by summing a respective risk score for each of the n trajectories in the combination; 6) else increment n by 1 7) if n>N, exit 8) else return to. providing the computer system with a three-dimensional representation of the skull and of critical objects (781, 783) located within the skull, wherein said critical objects comprise anatomical features to be avoided during the surgical insertion; providing the computer system with a target location for the insertion within the skull; generating by the computer system a first set comprising a plurality of entry points, each entry point representing a surface location on the skull, and each entry point being associated with a trajectory from the entry point to the target location; discarding by the computer system entry points from the first set to form a second, reduced set comprising a plurality of entry points, wherein an entry point is discarded from the first set of entry points if the entry point has an entry angle which fails a condition for being substantially perpendicular to the skull surface; and for each entry point in the second set, assessing by the computer system said entry point against a set of one or more criteria, wherein the set of one or more criteria includes a risk factor based on the separation between the critical objects and the trajectory which is associated with said entry point; the method further comprising providing a plurality of target locations, and wherein said one or more criteria for assessing a trajectory include ensuring that the trajectories to respective target locations do not conflict with one another, wherein two trajectories are considered to conflict with one another if they pass within a predetermined distance of each other, and wherein said ensuring comprises, for a set of N target locations having an arbitrary ordering: 1) start n = 1 2) select an n th target point 3) add the lowest risk trajectory for the n th target point 4) evaluate to see if there is a conflict between the n selected trajectories 5) if so, find the combination of n trajectories having the next lowest risk and return to, wherein the risk for the combination of n trajectories is determined by summing a respective risk score for each of the n trajectories in the combination; 6) else increment n by 1 7) if n>N, exit 8) else return to. 1) start n = 1 2) select an n th target point 3) add the lowest risk trajectory for the n th target point 4) evaluate to see if there is a conflict between the n selected trajectories 5) if so, find the combination of n trajectories having the next lowest risk and return to, wherein the risk for the combination of n trajectories is determined by summing a respective risk score for each of the n trajectories in the combination; 6) else increment n by 1 7) if n>N, exit 8) else return to.