Skip to content

Question about the mTRE  #27

Description

@Pragyanstha

Hello @eigenvivek, thanks for sharing the code for your awesome work !
I have a query regarding the calculation of the mean Target Registration Error (mTRE) as discussed in your arXiv paper compared to its implementation in the code.

In the paper, the mTRE is described as the mean error of projected points on the detector, which suggests a measurement directly in the detector plane. However, in the code, it appears that these projected points are backprojected into deepfluoro's coordinate system prior to calculating the mean error, aligning the metric with anatomical coordinates.

def project(self, pose):
extrinsic = convert_diffdrr_to_deepfluoro(self.specimen, pose)
x = perspective_projection(extrinsic, self.intrinsic, self.fiducials)
x = -self.specimen.focal_len * torch.einsum(
"ij, bnj -> bni",
self.intrinsic_inv,
pad(x, (0, 1), value=1), # Convert to homogenous coordinates
)
extrinsic = (
self.flip_xz.inverse().compose(self.translate.inverse()).compose(pose)
)
return extrinsic.transform_points(x)

Additionally, within the Evaluator.call method, the reprojection error calculated in this manner is subsequently multiplied by a factor of 0.194 mm/px.

registration_error *= 0.194 # Pixel spacing is 0.194 mm / pixel isotropic

Could you please clarify if this conversion is intended to standardize the error measurement to physical units for clinical relevancy, or if there might be an oversight in this part of the implementation?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions