Skip to content

Quality-guided phase unwrapping#639

Open
pierrethibault wants to merge 1 commit into
devfrom
unwrapping
Open

Quality-guided phase unwrapping#639
pierrethibault wants to merge 1 commit into
devfrom
unwrapping

Conversation

@pierrethibault

@pierrethibault pierrethibault commented Sep 22, 2025

Copy link
Copy Markdown
Member

As discussed at the end of the Hackathon 2025, I am adding here my implementation of the quality-quided phase unwrapping method.

This is manifestly not ready to pull, because I still need to figure out how this will be integrated in the installation. It looks like there are two main options:

  1. Have a build_ext that compiles the file, and use a wrapper with ctypes. For now the result looks messy, because compiled libraries have different names on different platforms and some code must be added to search for the shared library.
  2. Wrap the c file into a real python extension, which seems to be better handled at installation, but requires a bit more of work.

Currently I am leaning towards option 2, which will give a cleaner final result, but I know that Benedikt @daurer suggested using ctypes. Waiting for input!

Todo:

  • Wrap the function
  • Setup install script and metadata
  • Add some tests
  • Possible improvements: allow for more than one seed for the region-growth process (this requires passing a list of coordinates, which would be easier to handle if the code is converted to a real python Extension (option 2 above).

@pierrethibault
pierrethibault changed the base branch from master to dev September 22, 2025 07:18
@pierrethibault pierrethibault added the enhancement enhances package beyond current capability label Sep 22, 2025
@daurer

daurer commented Sep 25, 2025

Copy link
Copy Markdown
Contributor

@pierrethibault I agree that wrapping this into a real Python extension is the better option!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement enhances package beyond current capability

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants