Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tickets/DM-47442: Require convergence for TIE Zernike estimates #288

Merged
merged 1 commit into from
Nov 12, 2024

Conversation

jfcrenshaw
Copy link
Collaborator

@jfcrenshaw jfcrenshaw commented Nov 7, 2024

This also fixes:

  • a bug with the history-loading util
  • a bug with changing the donut binning parameter not being picked up in the task

@jfcrenshaw jfcrenshaw marked this pull request as draft November 7, 2024 23:15
@jfcrenshaw jfcrenshaw marked this pull request as ready for review November 8, 2024 00:44
@jfcrenshaw jfcrenshaw requested a review from jbkalmbach November 8, 2024 00:51
Copy link
Member

@jbkalmbach jbkalmbach left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. I merged the necessary change in donut_viz to main and tested the pipeline successfully.

@@ -69,12 +69,6 @@ class EstimateZernikesBaseConfig(pexConfig.Config):
+ "to the Noll index. In this case, indices 0-3 are always set to zero, "
+ "because they are not estimated by our pipeline.",
)
binning = pexConfig.Field(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why did this have to move out of the base task? It looks like you moved the same thing into the individual tasks?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's because the binning is currently implemented inside the individual algorithms, instead of at the WfEstimator level. So this needs to be in the individual task configs so that the config is passed onto the individual algorithms. Configs at the base task level are filtered out when constructing individual algorithms:

def wfAlgoConfig(self) -> WfAlgorithm:
"""Return the configuration for the WfAlgorithm."""
algoConfig = {
key: val
for key, val in self.config.toDict().items()
if key not in EstimateZernikesBaseConfig._fields.keys()
}
return WfAlgorithmFactory.createWfAlgorithm(self.wfAlgoName, algoConfig)

@jfcrenshaw jfcrenshaw merged commit bcedbe6 into develop Nov 12, 2024
4 checks passed
@jfcrenshaw jfcrenshaw deleted the tickets/DM-47442 branch November 12, 2024 01:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants