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
Improve continuous wavelet transform #661
Conversation
R. Terrier, L. Demanet, I.A. Grenier, and J.P. Antoine. Wavelet | ||
analysis of EGRET data. Universite Paris VII & Sap CEA Saclay. | ||
Institut de physique theorique et mathematique, Universite | ||
catholique de Louvain, Louvain-la-Neuve |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The most important thing to add is the link to http://adsabs.harvard.edu/abs/2001ICRC....7.2923T so that others can quickly find what publication exactly you are referencing.
The description can be shortened to only contain the key information like this:
R. Terrier et al (2001) "Wavelet analysis of EGRET data"
See http://adsabs.harvard.edu/abs/2001ICRC....7.2923T
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, I'll fixed it now.
@cdeil @adonath I prefer to implement the follow style of using CWT:
So we firstly setup the parameters and than start to analyze data and after computing we can use created CWT for analyzing other data. What are you thinking about it? |
No strong opinion on this, maybe small +1 to what you propose, to use the sklearn style of passing |
I think my preference would be to split out the scales and kernels into a separate class.
We will be able to re-use that class for other multi-scale algorithms, so I think it's good to split it out now. To use it for CWT:
OK to split out the scale / kernel handling this way, or do you prefer to keep the scales / kernel handling in |
self.support = None | ||
|
||
# Strange result after each iteration of CWT... | ||
self.mysterious_result = None | ||
|
||
@property | ||
def max_scale_image(self): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@cdeil I moved this method here, but as you can see it will be not work, because we don't have some information about the scales in that class. Maybe it will be better to create kernel class, but I don't know
e224497
to
545b6de
Compare
# Strange result after each iteration of CWT... | ||
self.mysterious_result = np.zeros(shape_2d) | ||
@property | ||
def max_scale_image(self): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If I understand correct, this method should look like this. As I understand, maximal image should be created on the same way as we create data.transform_2d
in the CWT._inverse_transform
.
dda5643
to
4353999
Compare
… classes, fix docs and add tests
ad288ca
to
55471fd
Compare
Merging this no. @OlgaVorokh - Thank you for this big contribution and your patience with review / merging on this PR! |
This PR improves CWT, which was added in #25 and recently improved directly in Gammapy master.
On this PR the follow work was done:
CWT
class intoCWTData
andCWTKernels
classes