Well, this has been a "fun" rabbit hole. I first had a look at the difference of the gen2/gen2 calexp images (as the pattern seen there usually provides a clue as to the root cause). Here is what it looks like for visit=257768 filter="r" detector=161 (I also reran with doWrtie=True so I could get the icExp for gen2):
icExp:
calexp:
Looking very "background"-related, so I went into isr and charImage stages to output backgrounds (and other stages) to look for differences...none...what???!!! I then had a closer look at the logs and the first difference appeared in the number of CRs detected in the first round of repair, so thinking I should look into the configs I found some pretty significant differences:
gen2:
config.charImage.measurePsf.reserve.fraction=0.2
|
config.charImage.repair.cosmicray.nCrPixelMax=1000000
|
config.charImage.repair.cosmicray.cond3_fac2=0.4
|
config.charImage.detection.isotropicGrow=True
|
config.charImage.detection.includeThresholdMultiplier=1.0
|
config.charImage.detection.thresholdType='pixel_stdev'
|
config.charImage.detection.doTempLocalBackground=True
|
gen3 (charImage config):
config.measurePsf.reserve.fraction=0.0
|
config.repair.cosmicray.nCrPixelMax=10000
|
config.repair.cosmicray.cond3_fac2=0.6
|
config.detection.isotropicGrow=False
|
config.detection.includeThresholdMultiplier=10.0
|
config.detection.thresholdType='stdev'
|
config.detection.doTempLocalBackground=False
|
there may be others...
Running a gen3 pipeline including the gen2 config overrides above gets us much closer to parity...I may have missed a few overrides (but am not going to explore this further based on my conclusion below!): (note scales)
icExp:
calexp:

Conclusion: gen3 is not picking up any of the config overrides...I'm not actually sure how this is supposed to happen, but parity is certainly not going to get anywhere close until this is resolved such that both middlewares are using the same configs!
Well, this has been a "fun" rabbit hole. I first had a look at the difference of the gen2/gen2 calexp images (as the pattern seen there usually provides a clue as to the root cause). Here is what it looks like for visit=257768 filter="r" detector=161 (I also reran with doWrtie=True so I could get the icExp for gen2):
icExp:
calexp:
Looking very "background"-related, so I went into isr and charImage stages to output backgrounds (and other stages) to look for differences...none...what???!!! I then had a closer look at the logs and the first difference appeared in the number of CRs detected in the first round of repair, so thinking I should look into the configs I found some pretty significant differences:
gen2:
gen3 (charImage config):
there may be others...
Running a gen3 pipeline including the gen2 config overrides above gets us much closer to parity...I may have missed a few overrides (but am not going to explore this further based on my conclusion below!): (note scales)

icExp:
calexp:
Conclusion: gen3 is not picking up any of the config overrides...I'm not actually sure how this is supposed to happen, but parity is certainly not going to get anywhere close until this is resolved such that both middlewares are using the same configs!