This is my first attempt at a spark client for intensity correction. Since this is my first attempt at spark ever, I copied a lot of stuff and I'm sure that there are a bunch of bugs in there.
I'm happy to go over this together at some point to learn from your experience @trautmane.
One thing that I take from this experience is that we didn't do a good job of abstracting concepts. I tried to extract common functionality but failed for various reasons most of the time:
AffineBlockSolverSetup and IntensityCorrectionSetup don't share a common superclass or interface.
The "model" for intensity correction does not implement Model, which makes it hard to generalize.
There are a lot of public static methods. While this is not bad per se, I think here it means that encapsulation is not tight.
This is my first attempt at a spark client for intensity correction. Since this is my first attempt at spark ever, I copied a lot of stuff and I'm sure that there are a bunch of bugs in there. I'm happy to go over this together at some point to learn from your experience @trautmane.
One thing that I take from this experience is that we didn't do a good job of abstracting concepts. I tried to extract common functionality but failed for various reasons most of the time:
AffineBlockSolverSetup
andIntensityCorrectionSetup
don't share a common superclass or interface.Model
, which makes it hard to generalize.public static
methods. While this is not bad per se, I think here it means that encapsulation is not tight.