New ScreenPanel
This commit is contained in:
79
script/tst4.js
Executable file
79
script/tst4.js
Executable file
@@ -0,0 +1,79 @@
|
||||
|
||||
function histogram(data, range_min, range_max, bin){
|
||||
|
||||
/*
|
||||
Creates histogram on data.
|
||||
|
||||
Args:
|
||||
data (tuple, array, ArrayList or Array): input data can be multi-dimensional or nested.
|
||||
range_min (int, optional): minimum histogram value. Default is floor(min(data))
|
||||
range_max (int, optional): maximul histogram value. Default is ceil(max(data))
|
||||
bin(int or float, optional): if int means number of bins. If float means bin size. Default = 1.0.
|
||||
Returns:
|
||||
tuple: (ydata, xdata)
|
||||
|
||||
*/
|
||||
flat = flatten(data)
|
||||
if (!is_defined(range_min)) range_max = null
|
||||
if (!is_defined(range_max)) range_max = null
|
||||
if (!is_defined(bin)) bin = 1.0
|
||||
if (range_min == null) range_min = Math.floor(Math.min.apply(null,flat))
|
||||
if (range_max == null) range_max = Math.ceil(Math.max.apply(null,flat))
|
||||
|
||||
print("Min "+ range_min)
|
||||
print("Max "+ range_max)
|
||||
if (is_float(bin)){
|
||||
|
||||
bin_size = bin
|
||||
n_bin = Math.ceil((range_max - range_min)/bin_size)
|
||||
print(bin_size)
|
||||
print( n_bin)
|
||||
}
|
||||
else{
|
||||
n_bin = bin
|
||||
bin_size = (range_max - range_min)/bin
|
||||
}
|
||||
|
||||
print("n_bin" + n_bin)//
|
||||
print("bin_size" + bin_size)
|
||||
|
||||
result = []; size=n_bin; while(size--) result.push(0)
|
||||
|
||||
for (d in flat){
|
||||
b = Math.floor( (flat[d] - range_min) / bin_size)
|
||||
if ((b >=0) && (b < n_bin)){
|
||||
result[b] = result[b] + 1
|
||||
}
|
||||
}
|
||||
|
||||
result_x = []; size=result.length; p=range_min; while(size--) {result_x.push(p); p+=bin_size }
|
||||
|
||||
return [result,result_x]
|
||||
}
|
||||
|
||||
|
||||
h = histogram(data=im1.read(), undefined, undefined, bin=0.1)
|
||||
hd=h[0]; xd = h[1]
|
||||
/*
|
||||
image = Utils.grayscale(src1.getOutput())
|
||||
data = Convert.toUnsigned(image.getData().getDataBuffer().getData())
|
||||
h = histogram(data, range_min=0, range_max=255)
|
||||
hi=h[0]; xi = h[1]
|
||||
|
||||
if (plots == null){
|
||||
plots = plot((hd,hi), ("Data", "Image"), (xd, xi), title = "Histo")
|
||||
} else{
|
||||
plots[0].getSeries(0).setData(xd,hd)
|
||||
plots[1].getSeries(0).setData(xi,hi)
|
||||
}
|
||||
if (plots[0].displayable == false){
|
||||
abort()
|
||||
}
|
||||
|
||||
ov_cross.update(new Point((ov_cross.position.x+1) % size.width ,(ov_cross.position.y+1) % size.height))
|
||||
|
||||
sleep(0.1)
|
||||
*/
|
||||
|
||||
print (hd.length)
|
||||
print (xd.length)
|
||||
Reference in New Issue
Block a user