Skip to content

Releases: eigenvivek/DiffDRR

v0.4.0

21 May 14:23
a69300f
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.3.12...v0.4.0

v0.3.12

12 Mar 17:54
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.3.11...v0.3.12

v0.3.11

09 Feb 04:35
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.3.10...v0.3.11

v0.3.10

09 Feb 03:51
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.3.9...v0.3.10

v0.3.9

24 Jan 18:38
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.3.8...v0.3.9

Parsing intrinsic matrices and docs

06 Dec 21:16
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.3.7...v0.3.8

v0.3.7

27 Oct 12:08
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.3.6...v0.3.7

SE(3) and 3D plotting

25 Sep 00:31
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.3.5...v0.3.6

v0.3.5

05 Sep 13:39
c31da07
Compare
Choose a tag to compare

Small tweaks to the detector (ensured rays only cast from source to target) and add a new image similarity metric.

What's Changed

Full Changelog: https://github.com/eigenvivek/DiffDRR/commits/v0.3.5

v0.3.3

17 Jul 12:55
Compare
Choose a tag to compare

Prioritize differentiable rendering

Final API change for DiffDRR

DRR objects now act purely as a differentiable renderer. That means DRR objects take in rotations and translations parameters to specify (batched) camera poses, and render X-rays from those poses.

The pose parameters are not stored as nn.Parameters of the module. This introduced too many annoyances with the DRR module, such as gradients not flowing backwards past the pose parameters, or only being able to render a specific batch size.

2D-to-3D registration is still possible with DiffDRR. This is done by creating a lightweight wrapper module that stores rotations and translations as nn.Parameters, and calls a DRR object in its forward call. An example is available in the updated documentation.

Small changes:

  • DRR generation can now be performed patch-wise (i.e., generate a 600^2 DRR as four 300^2 in series). This means DiffDRR can generate insanely large DRRs since computation memory is no longer a constraint. See an example in the updated timing notebook.

What's Changed

Full Changelog: v0.3.2...v0.3.3