GithubHelp home page GithubHelp logo

juliaearth / imagequilting.jl Goto Github PK

View Code? Open in Web Editor NEW
41.0 5.0 12.0 64.4 MB

Fast image quilting simulation solver for the GeoStats.jl framework

Home Page: https://github.com/JuliaEarth/GeoStats.jl

License: MIT License

Julia 100.00%
geostatistics computer-vision image-processing graph-theory multiple-point-statistics texture-synthesis

imagequilting.jl's People

Contributors

clarohenrique avatar dependabot[bot] avatar eliascarv avatar github-actions[bot] avatar juliohm avatar mortenpi avatar tkelman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

imagequilting.jl's Issues

Likely breakages from Images

Today the new version of Images was tagged. If you update, you may discover problems with this package.

If you want to reintroduce a color dimension (and it's not entirely obvious that you would), consider the separate function. It's demonstrated on the Images README.

Heads up - breaking API change in LightGraphs 0.7.x.

Sorry if this is not relevant to your use of LightGraphs, but I wanted to make sure you’re aware of a change in the API for the induced_subgraph() function.

Starting in LightGraphs 0.7.1, induced_subgraph() will, in addition to the subgraph itself, return a mapping of the original vertex indices to the new ones. This will require code changes to ignore the new return value if you’re using this function.

If you’re using the getindex version of induced_subgraph (that is, g[1:5]), there will be no change.

Feel free to close this out if it’s not applicable to your use of LightGraphs. Thanks!

hard data issue

Hi,

I am using the ImageQuilting toolbox to generate realizations of subsurface.
On the attached image, the left figure if the training image, the right figure is the borehole location and the center is one of the realizations.

The windows used in iqsim is 40x40. Apparently, this is much bigger than the actual distance between two boreholes. How can I use more efficiently the simulation ? Reducing the window or am I doing something wrong?

figure_1-1

I am attaching the two files I use as taring image and borehole information.
The code looks like this

TI1=npzread("flummy.npy")
TI1=TI1[:,:,4]
TI1= reshape(TI1,201,201,1)
geo=npzread("real_geo2.npy")
shape = HardData()
for i=1:size(geo,1)
push!(shape, (geo[i,1]+1,geo[i,2]+1,1)=>geo[i,3])
end
reals= iqsim(TI1, 40, 40, 1, size(TI1)..., hard=shape, nreal=1)

Data_for_Marios.zip

GitHub page not displaying site

@juliohm: I have a very similar structure of my Julia package as you do. I cannot have gh-pages to display my site. What is the easiest way to deploy Julia package in GitHub?
Thanks.

[PkgEval] ImageQuilting may have a testing issue on Julia 0.4 (2014-10-08)

PackageEvaluator.jl is a script that runs nightly. It attempts to load all Julia packages and run their tests (if available) on both the stable version of Julia (0.3) and the nightly build of the unstable version (0.4). The results of this script are used to generate a package listing enhanced with testing results.

On Julia 0.4

  • On 2014-10-05 the testing status was Tests pass.
  • On 2014-10-08 the testing status changed to Package doesn't load.

Tests pass. means that PackageEvaluator found the tests for your package, executed them, and they all passed.

Package doesn't load. means that PackageEvaluator did not find tests for your package. Additionally, trying to load your package with using failed.

Special message from @IainNZ: This change may be due to breaking changes to Dict in JuliaLang/julia#8521, or the removal of deprecated syntax in JuliaLang/julia#8607.

This issue was filed because your testing status became worse. No additional issues will be filed if your package remains in this state, and no issue will be filed if it improves. If you'd like to opt-out of these status-change messages, reply to this message saying you'd like to and @IainNZ will add an exception. If you'd like to discuss PackageEvaluator.jl please file an issue at the repository. For example, your package may be untestable on the test machine due to a dependency - an exception can be added.

Test log:

>>> 'Pkg.add("ImageQuilting")' log

WARNING: deprecated syntax "(String=>String)[]" at /home/idunning/pkgtest/.julia/v0.4/BinDeps/src/BinDeps.jl:146.
Use "Dict{String,String}()" instead.

WARNING: deprecated syntax "(String=>String)[]" at /home/idunning/pkgtest/.julia/v0.4/BinDeps/src/BinDeps.jl:147.
Use "Dict{String,String}()" instead.

WARNING: deprecated syntax "(String=>String)[]" at /home/idunning/pkgtest/.julia/v0.4/BinDeps/src/BinDeps.jl:148.
Use "Dict{String,String}()" instead.

WARNING: deprecated syntax "(String=>String)[]" at /home/idunning/pkgtest/.julia/v0.4/BinDeps/src/BinDeps.jl:149.
Use "Dict{String,String}()" instead.

WARNING: deprecated syntax "(Symbol=>Any)[]" at /home/idunning/pkgtest/.julia/v0.4/BinDeps/src/dependencies.jl:224.
Use "Dict{Symbol,Any}()" instead.

WARNING: deprecated syntax "(Symbol=>Any)[]" at /home/idunning/pkgtest/.julia/v0.4/BinDeps/src/dependencies.jl:383.
Use "Dict{Symbol,Any}()" instead.

WARNING: deprecated syntax "{a=>b, ...}" at /home/idunning/pkgtest/.julia/v0.4/BinDeps/src/dependencies.jl:387.
Use "Dict{Any,Any}(a=>b, ...)" instead.

WARNING: deprecated syntax "(Any=>Any)[]" at /home/idunning/pkgtest/.julia/v0.4/BinDeps/src/dependencies.jl:494.
Use "Dict{Any,Any}()" instead.

WARNING: deprecated syntax "(Any=>Any)[]" at /home/idunning/pkgtest/.julia/v0.4/BinDeps/src/dependencies.jl:555.
Use "Dict{Any,Any}()" instead.

WARNING: deprecated syntax "(Any=>Any)[]" at /home/idunning/pkgtest/.julia/v0.4/BinDeps/src/dependencies.jl:660.
Use "Dict{Any,Any}()" instead.

WARNING: deprecated syntax "[a=>b, ...]" at /home/idunning/pkgtest/.julia/v0.4/Images/deps/build.jl:78.
Use "Dict(a=>b, ...)" instead.
INFO: Cloning cache of ImageQuilting from git://github.com/juliohm/ImageQuilting.jl.git
INFO: Installing BinDeps v0.3.5
INFO: Installing Color v0.3.8
INFO: Installing FixedPointNumbers v0.0.4
INFO: Installing ImageQuilting v0.0.2
INFO: Installing Images v0.4.17
INFO: Installing SHA v0.0.3
INFO: Installing SIUnits v0.0.2
INFO: Installing TexExtensions v0.0.2
INFO: Installing URIParser v0.0.3
INFO: Installing Zlib v0.1.7
INFO: Building Images
INFO: Package database updated
INFO: METADATA is out-of-date a you may not have the latest version of ImageQuilting
INFO: Use `Pkg.update()` to get the latest versions of your packages

>>> 'using ImageQuilting' log

WARNING: deprecated syntax "{a=>b, ...}" at /home/idunning/pkgtest/.julia/v0.4/Color/src/names_data.jl:6.
Use "Dict{Any,Any}(a=>b, ...)" instead.

WARNING: deprecated syntax "{a=>b, ...}" at /home/idunning/pkgtest/.julia/v0.4/Color/src/maps_data.jl:9.
Use "Dict{Any,Any}(a=>b, ...)" instead.

WARNING: deprecated syntax "{a=>b, ...}" at /home/idunning/pkgtest/.julia/v0.4/Color/src/maps_data.jl:20.
Use "Dict{Any,Any}(a=>b, ...)" instead.

WARNING: deprecated syntax "[a=>b, ...]" at /home/idunning/pkgtest/.julia/v0.4/Images/src/core.jl:560.
Use "Dict(a=>b, ...)" instead.

WARNING: deprecated syntax "[a=>b, ...]" at /home/idunning/pkgtest/.julia/v0.4/Images/src/core.jl:566.
Use "Dict(a=>b, ...)" instead.

WARNING: deprecated syntax "(ASCIIString=>Any)[]" at /home/idunning/pkgtest/.julia/v0.4/Images/src/core.jl:626.
Use "Dict{ASCIIString,Any}()" instead.

WARNING: deprecated syntax "(ASCIIString=>Any)[]" at /home/idunning/pkgtest/.julia/v0.4/Images/src/core.jl:1008.
Use "Dict{ASCIIString,Any}()" instead.

WARNING: deprecated syntax "[a=>b, ...]" at /home/idunning/pkgtest/.julia/v0.4/Images/src/ioformats/libmagickwand.jl:96.
Use "Dict(a=>b, ...)" instead.
ERROR: `Dict{K,V}` has no method matching Dict{K,V}(::Array{ASCIIString,1}, ::UnitRange{Int64})
 in include at ./boot.jl:245
 in include_from_node1 at ./loading.jl:128
 in include at ./boot.jl:245
 in include_from_node1 at ./loading.jl:128
 in reload_path at ./loading.jl:152
 in _require at ./loading.jl:67
 in require at ./loading.jl:54
 in require_3B_3964 at /home/idunning/julia04/usr/bin/../lib/julia/sys.so
 in include at ./boot.jl:245
 in include_from_node1 at ./loading.jl:128
 in include at ./boot.jl:245
 in include_from_node1 at ./loading.jl:128
 in reload_path at ./loading.jl:152
 in _require at ./loading.jl:67
 in require at ./loading.jl:52
 in require_3B_3964 at /home/idunning/julia04/usr/bin/../lib/julia/sys.so
 in include at ./boot.jl:245
 in include_from_node1 at loading.jl:128
 in process_options at ./client.jl:293
 in _start at ./client.jl:362
 in _start_3B_3789 at /home/idunning/julia04/usr/bin/../lib/julia/sys.so
while loading /home/idunning/pkgtest/.julia/v0.4/Images/src/ioformats/libmagickwand.jl, in expression starting on line 94
while loading /home/idunning/pkgtest/.julia/v0.4/Images/src/Images.jl, in expression starting on line 32
while loading /home/idunning/pkgtest/.julia/v0.4/ImageQuilting/src/imquilt.jl, in expression starting on line 21
while loading /home/idunning/pkgtest/.julia/v0.4/ImageQuilting/src/ImageQuilting.jl, in expression starting on line 23
while loading /home/idunning/pkgtest/.julia/v0.4/ImageQuilting/testusing.jl, in expression starting on line 2
Julia Version 0.4.0-dev+998
Commit e24fac0 (2014-10-07 22:02 UTC)
Platform Info:
  System: Linux (x86_64-unknown-linux-gnu)
  CPU: Intel(R) Xeon(R) CPU E5-2650 0 @ 2.00GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Sandybridge)
  LAPACK: libopenblas
  LIBM: libopenlibm
  LLVM: libLLVM-3.3


>>> test log
no tests to run
>>> end of log

showprogress option not working in IQ solver

Hi!

I'm running a simulation using the showprogress option in the IQ solver as:

nreal = 50

#conditional simulation with loaded boreholes
condsim = SimulationProblem(geodata, domain, :prop1, nreal)

solver = IQ(:prop1 => 
            (trainimg=TI, 
            tilesize=(40,40,5), 
            overlap = (1/4, 1/4, 1/4)),
            showprogress = true)
solution = solve(condsim, solver)

but no progress is being shown in the terminal.

Thanks!!

GPU with voxel reuse plot

I'm a bit confused about how the voxel reuse plot is implemented. It seems that the helper function voxelreuse has an option for using the GPU but voxelreuseplot does not. I don't really know how Recipes work in Julia but is there an easy way to add a GPU argument to voxelreuseplot?

Tag a release that uses the new Images?

Hi @juliohm,

I had the impression you were using the new Images, but the released version of ImageQuilting apparently pins Images at its old version (JuliaImages/ImageFiltering.jl#26 (comment)). That means that anyone who installs ImageQuilting can't use the new version of Images. Apparently this is the last registered package that hasn't upgraded yet.

Can you release a new version that makes use of the new infrastructure?

Only one realization is stored

Hi,

I am new to Julia so I might be wrong. I was using ImageQuilting for few days, but after today (some updates took place), the command
reals, cuts, voxs = iqsim(TI, 13, 13, 1, size(TI)..., nreal=3)

only returns one realization.

Add support for multi-channel images

It would be great to support multi-channel images (e.g. RGB images) besides Array{<:Real}. This is a longstanding feature request from various users.

Implement GPU feature in Julia v1.0

The GPU option is not working in Julia v1.0 due to dependencies (i.e. OpenCL.jl and CLFFT.jl) that are still being ported to the new version of the language.

Two issues must be addressed:

  1. Optional dependencies should now be added with Requires.jl
  2. Consider making use of ComputationalResources.jl to trigger the GPU code

Boykov Kolmogorov cut algorithm error after updating packages

I started using this code a few days ago and it was working great for a while. Running simulations using something like

reals=iqsim(TI_prim,151,151,1,size(TI_prim)...,nreal=1)

was working with no problems. I updated my packages a few days ago on Feb. 23 with Pkg.update() and then the same code threw the following error.

UndefVarError: maximum_flow not defined.

Stacktrace:
[1] boykov_kolmogorov_cut(::SubArray{Float64,3,Array{Float64,3},Tuple{UnitRange{Int64},UnitRange{Int64},UnitRange{Int64}},false}, ::SubArray{Float64,3,Array{Float64,3},Tuple{UnitRange{Int64},UnitRange{Int64},UnitRange{Int64}},false}, ::Symbol) at C:\Users\ammilten.julia\v0.6\ImageQuilting\src\boykov_kolmogorov_cut.jl:100
[2] #iqsim#34(::Float64, ::Float64, ::Float64, ::Array{Any,1}, ::Dict{Tuple{Integer,Integer,Integer},Real}, ::Float64, ::Symbol, ::Symbol, ::Bool, ::Int64, ::Int64, ::Bool, ::Bool, ::Bool, ::ImageQuilting.#iqsim, ::Array{Float64,3}, ::Int64, ::Int64, ::Int64, ::Int64, ::Int64, ::Int64) at C:\Users\ammilten.julia\v0.6\ImageQuilting\src\iqsim.jl:376
[3] (::ImageQuilting.#kw##iqsim)(::Array{Any,1}, ::ImageQuilting.#iqsim, ::Array{Float64,3}, ::Int64, ::Int64, ::Int64, ::Int64, ::Int64, ::Int64) at .<missing>:0
[4] include_string(::String, ::String) at .\loading.jl:522

Using the argument cut=:dijkstra thankfully works for the time being, but the default cut algorithm is not.

TI from array

Hi!

This is more of a question than an issue. I have a TI that is basically a 3D array.

There is any way to use it as it is in the IQ solver?

My current workaround is to save it as a GSLIB and then load it again, but it seems inefficient.

Thanks!

TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.

If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.