Something seems wrong
This commit is contained in:
parent
5483e21c43
commit
3569119268
@ -1,4 +1,5 @@
|
|||||||
import numpy as np
|
import numpy as np
|
||||||
|
import pandas
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
@ -26,12 +27,33 @@ def blockshaped(data, square_size):
|
|||||||
square_size,
|
square_size,
|
||||||
square_size))
|
square_size))
|
||||||
|
|
||||||
|
def bc(df):
|
||||||
|
max_actual_radius = max(df.x.abs().max(), df.y.abs().max())
|
||||||
|
|
||||||
|
fb = []
|
||||||
|
dims = []
|
||||||
|
|
||||||
|
for i in range(1, max_actual_radius * 2):
|
||||||
|
box_width = (max_actual_radius * 2) / i
|
||||||
|
total = i ** 2
|
||||||
|
|
||||||
|
filled = pd.DataFrame(data={
|
||||||
|
'xi': np.floor_divide(df.x, box_width),
|
||||||
|
'yi': np.floor_divide(df.y, box_width),
|
||||||
|
}).drop_duplicates().shape[0]
|
||||||
|
|
||||||
|
fb.append(filled)
|
||||||
|
dims.append(box_width)
|
||||||
|
|
||||||
|
out = pd.DataFrame({'N': fb, 'w': dims})
|
||||||
|
|
||||||
|
return out[out.N != out.N.min()]
|
||||||
|
|
||||||
|
|
||||||
df = read_xy_alt(
|
df = read_xy_alt(
|
||||||
"/Users/joshuacoles/Developer/checkouts/jc3091/CompB DLA/data-analysis/data/alpha/1.csv"
|
"/Users/joshuacoles/Developer/checkouts/jc3091/CompB DLA/data-analysis/data/alpha/1.csv"
|
||||||
)
|
)
|
||||||
|
|
||||||
max_actual_radius = max(df.x.abs().max(), df.y.abs().max())
|
|
||||||
max_radius = int(np.exp2(np.floor(np.log2(max_actual_radius)) + 1))
|
max_radius = int(np.exp2(np.floor(np.log2(max_actual_radius)) + 1))
|
||||||
data = np.zeros((max_radius * 2, max_radius * 2))
|
data = np.zeros((max_radius * 2, max_radius * 2))
|
||||||
data[df.x + max_radius, df.y + max_radius] = 1
|
data[df.x + max_radius, df.y + max_radius] = 1
|
||||||
@ -39,16 +61,12 @@ data[df.x + max_radius, df.y + max_radius] = 1
|
|||||||
iterations = int(np.floor(np.log2(max_actual_radius)) + 1)
|
iterations = int(np.floor(np.log2(max_actual_radius)) + 1)
|
||||||
sizes = 2 ** np.arange(1, iterations)
|
sizes = 2 ** np.arange(1, iterations)
|
||||||
|
|
||||||
fb = []
|
|
||||||
dims = []
|
|
||||||
|
|
||||||
for size in sizes:
|
for size in sizes:
|
||||||
filled_box = np.sign(blockshaped(data, size).sum(axis=(1, 2))).sum()
|
filled_box = np.sign(blockshaped(data, size).sum(axis=(1, 2))).sum()
|
||||||
fb.append(filled_box)
|
fb.append(filled_box)
|
||||||
dims.append(size / np.exp2(iterations))
|
dims.append(size / np.exp2(iterations))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class ImageFractalDimension:
|
class ImageFractalDimension:
|
||||||
def __init__(self, image_name, SIZE):
|
def __init__(self, image_name, SIZE):
|
||||||
self.SIZE = SIZE
|
self.SIZE = SIZE
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user