trivial: remove stray semicolon
trivial: remove redundant code
trivial: remove temporary variables
trivial: use scalar comparison on scalar (not invoking numpy)
add note
do not call abs() after computing determinant
add note
trivial: formalize assumption
allow constructing camera with 'camcenter' (instead of 'translation')
fix typo
allow CameraModel._from_parts() to be overridden in derived class