Closed PinkShnack closed 1 year ago
:muscle: The most difficult thing to implement will probably be the handling of floating-point images (e.g. tests for RTDCWriter
class).
After this is implemented, I should:
I would also add the integrated phase (phase_int
) which does not require any prior knowledge (radius or refraction increment).
Hey @PinkShnack I just had a quick look at https://github.com/DC-analysis/dclab/pull/225 and I think it would be best to do this thing step by step, split into multiple pull requests. The reason for this is that this will probably take a lot of time to implement and there will be other changes in dclab.
I would propose the following milestones / PRs:
Register the features in dclab (without any recipes how to compute them). This will allow me to slowly adapt all the software downstream to support QPI features. The changes made in this PR should be restricted to the dclab.definitions
module. I assume you will also add a new "qpi" configuration section that holds the various parameters of the experiment.
Support reading ND floating-point arrays in fmt_hdf5
and fmt_dcor
for phase and amplitude.
Support writing ND floating-point arrays in dclab.RTDCWriter
. I believe this is not yet supported and should be properly tested. I think the latest versions of HDFView can also display floating point images. It would be nice if the commonly used colormaps (e.g. "coolwarm" for phase) would be supported in HDFView (but I doubt it). At this point, dclab can handle phase data, but it does not yet know how to compute them.
Implement ancillary features for computing the various QPI features. This involves implementing the methods (which you already started in #225) as well as subclassing from AncillaryFeature and computing the QPI features in one go (all at the same time, see my comments in #225). This is the least critical step, since all the features can also be computed using other software, such as dcevent, and dclab does not necessarily have to know how to compute it.
I think I haven't missed anything. But I believe once we reached step 1 and 2 we would already know whether there are any other obstacles.
Sounds great. I will get onto point 1 now!
In the mean-time, shall I remove/close the PR #225 for now. By the time we get to it, everything will be changed, and it will just exist there for no reason.
Sounds great. I will get onto point 1 now!
In the mean-time, shall I remove/close the PR #225 for now. By the time we get to it, everything will be changed, and it will just exist there for no reason.
Yes, I think it's OK to remove it to avoid confusion :+1:
I am closing this issue here, because all the meta-work has already been done in #227.
My point 4 in my comment above should probably not be implemented in dclab (via ancillary features), but rather in a third-party software such as dcnum. The reason for that is that computing QPI features as ancillary features is just not feasible. Computing them in a step before using dclab makes much more sense.
We should add several new features that can come from holograms acquired via the Quantitative Phase imaging (QPI) experiments.
Possible features and their types:
other todos:
scale_to_filter
. See comment here