Something seems wrong

This commit is contained in:
Joshua Coles 2023-03-19 14:30:51 +00:00
parent 5483e21c43
commit 3569119268

View File

@ -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