Hello,
I look for a function similar to the wentropy function in the Wavelet Toolbox of Matlab. In an older code I used to following form:
H = -wentropy( DataArray , 'shannon' );
I look in several packages (Wavelet.jl, WaveletsExt.jl, Entropies.jl), finally in ComplexityMeasures.jl and found a similar approach (ComplexityMeasures.Shannon) but no example that I can understand how to use the function.
Does anyone know an approach to implement the Matlab function in Julia?
Kind regards,
Martin
             
            
              
              
              2 Likes
            
            
           
          
            
            
              I think you want the entropy() function in ComplexityMeasures, using the Shannon measure. The relevant documentation is around here.
             
            
              
              
              
            
            
           
          
            
            
              Hello,
thanks for the hint, I checked it and it works well for time series ( H = entropy(WaveletOverlap(), DATA) ) , what I need is this for 2D (image) data. One approach could be to calculate it line by line, but this is very slow. Is there a faster implementation available. I looked in SpatialDispersion and SpatialOrdinalPatterns but stencil parameters seems to be not senseful in my case.
/Martin
             
            
              
              
              
            
            
           
          
            
            
              I don’t know enough about your problem to say how it should map to the SpatialDispersion calculation.
Having a look at wentropy in Matlab tells me they’re doing something substantially less sophisticated than ComplexityMeasures.jl: they compute the probability distribution of the input pixels (with bins depending on pixel type) and then returning -sum(p.*log2(p)). This is considerably simpler than what I steered you toward.
The way to match Matlab’s wentropy is to start with StatsBase.Histogram, choosing the normalization. The rest should be trivial.