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

updating to v0.6, working with conv2 #14

Merged
merged 1 commit into from
Oct 31, 2017

Conversation

dsweber2
Copy link
Contributor

@dsweber2 dsweber2 commented Oct 17, 2017

first, thanks for the Julia implementation of shearlets; this has been a great resource! In attempting to use Shearlab in v0.6, I've run into one major issue, and I haven't spent enough time with the code to be sure what intended behavior is exactly.

This is on line 177 of getShearlets2D.jl. The problem here is that in v0.6 and beyond, transpose no longer returns a matrix. I tried changing it to the following

wedgeHelp = conv2(directionalFilterUpsampled'',
                            [filterLow2[size(filterLow2,2)-shearLevel]' zeros(length(filterLow2[size(filterLow2,2)-shearLevel]),size(directionalFilterUpsampled,2)-1)])

which creates a matrix with filterLow2 as a column vector in the first column. It runs fine, but when I looked at the resulting shearlets, they seemed to oscillate much more wildly than they're supposed to. At this point, I wanted to check with you what the convolution is supposed to be doing.

The other changes are trivial-- just doing what deprecation warnings tell me to do. So far, this is just change functions to be pointwise, as in this issue and this issue

@arsenal9971
Copy link
Owner

Dear David, I will take a look on that as soon as possible (at the moment I am a little busy with the PhD).

Any other comment or issue are more than welcome, thanks for using the library!

@arsenal9971
Copy link
Owner

Dear David,

Thanks a lot for the issue, I will take a look as soon as possible and fix it.

Could you actually import Shearlab on julia v0.6?, the last few months I have been so busy with my PhD that I did not have enough time to solve the deprecation for julia v0.6, therefore any help is more than welcome. I am also very much encouraged to do it now in the weekends and weekday evenings.

I also suspect that there are some issues with ArrayFire by the change of version, including some changes on the way that convolution and matrix transposing used to work in the old version of ArrayFire.jl (In JuliaCon of this year I actually met with the developer of this API and he fixed the issues that I caught, but I could change my code since then); since I tried to do a non so painful gpu implementation, I tried to get a midpoint of the accelerated convolution functions in ArrayFire.jl and the classical convolution functions in julia-base; therefore some code lines with this operations might look a little bit weird.

I would like to know also in what have you been using Shearlab, I see in your repository that you implemented the Scattering Transform using Shearlab which is amazing, do you have any Jupyter notebooks with some demos or experiments with that?

Any other issue/question/comment, please dont hesitate on doing it.

@dsweber2
Copy link
Contributor Author

dsweber2 commented Oct 19, 2017

I was able to call using Shearlab without problems, but I've actually been using the non-gpu code, so it's possible that ArrayFire also has problems; eventually I'll try this out. I believe I resolved the issue I was having above, I seem to have copied a parameter incorrectly in my notebook, leading to some confusion. I believe that I've fixed the conv2 issues for both versions, but I currently don't have a working gpu version so I can't check there.

The shearlet scattering transform (shattering transform) is my primary application of shearlets at the moment. As of right now, the scattering transform using shearlets is still preliminary, as I had to put it on hold for other PhD work. I pushed a simple example basicUsage.jl in the folder ShatteringExamples if you wanted to investigate it.

@arsenal9971 arsenal9971 merged commit 66a4d1a into arsenal9971:master Oct 31, 2017
@arsenal9971
Copy link
Owner

@dsweber2 Sorry it took me time to merge, your changes are correct; could you call the pull request for the solution of the conv2 issue?

@arsenal9971
Copy link
Owner

I am also having troubles with travis, since originally the build does not work at the moment thanks to the ArrayFire repository that has been change to another url, I already fixed that, but since the build of your PR was made before I fix this, TRAVIS CI is now still having that error (https://travis-ci.org/arsenal9971/Shearlab.jl/jobs/288921873). Do you have any idea how to fix this issue?

@dsweber2
Copy link
Contributor Author

I'm not sure, having not worked with Travis before, but when I look at the config and followed the link for the wget command, the version number is no longer up to date (3.4.2 vs 3.5). There may be a way to fix this permanently by using a regex in some way, but I'm not sure.

Looking at the changes in the URL's that you made, they were just for windows, correct? Are you able to build it on your machine with Pkg.build("Shearlets")?

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