This PR set off with the lofty goal of removing the Plane object from PyAutoGalaxy and PyAutoLens.
This was motivated by a belief that the Plane object didn't act as much more than a glorified wrapper of a summation function (e.g. summing together the quantities of individual Galaxy objects).
The refactor started off great, and led to a reduction in code, however as I slowly updated unit tests to make them pass I realised there was a lot of functionality in the Plane object that did specific calculations, oops.
I then ended up adding a Galaxies object, which analogous to a Plane groups galaxies to perform various calculations.
Overall this PR wasn't a huge success and didn't reduce the amount of code as I'd have liked, but it is improvement on what we had before:
PyAutoGalaxy no longer has this clunky plane attribute and object floating around, which was really a remnant of it being a spin-off of autolens. Instead, PyAutoGalaxy now only deals with galaxies objects, as it should be!.
The API in many parts of the code is more concise, with the removal of .planes attributes.
The PyAutoLens tracer has come out simpler and more concise.
This PR set off with the lofty goal of removing the
Plane
object from PyAutoGalaxy and PyAutoLens.This was motivated by a belief that the
Plane
object didn't act as much more than a glorified wrapper of a summation function (e.g. summing together the quantities of individualGalaxy
objects).The refactor started off great, and led to a reduction in code, however as I slowly updated unit tests to make them pass I realised there was a lot of functionality in the
Plane
object that did specific calculations, oops.I then ended up adding a
Galaxies
object, which analogous to aPlane
groups galaxies to perform various calculations.Overall this PR wasn't a huge success and didn't reduce the amount of code as I'd have liked, but it is improvement on what we had before:
PyAutoGalaxy no longer has this clunky
plane
attribute and object floating around, which was really a remnant of it being a spin-off of autolens. Instead, PyAutoGalaxy now only deals withgalaxies
objects, as it should be!.The API in many parts of the code is more concise, with the removal of
.planes
attributes.The PyAutoLens tracer has come out simpler and more concise.
So, overall the refactor was worth while, just.