def TD_to_1D(pk_or_kr): if pk_or_kr[0] == 0: #Normal plot partition = range(number / 2) block = len(partition) y = [0] * block y_n = [0] * block for i in range(number): for j in range(number): for k in range(number): distance = math.sqrt(i**2 + j**2 + k**2) distance = math.sqrt((i - number / 2)**2 + (j - number / 2)**2 + (k - number / 2)**2) if distance < number / 2: y[int(distance)] += pk_or_kr[1][i][j][k] y_n[int(distance)] += 1 for i in range(block): if y_n[i] <> 0: y[i] = y[i] / y_n[i] return partition, y elif pk_or_kr[0] == 1: #Log plot partition = ml.Create_Partition(number / 2, 0) block = len(partition) - 1 y = [0] * block y_n = [0] * block for i in range(number): for j in range(number): for k in range(number): distance = math.sqrt((i - number / 2)**2 + (j - number / 2)**2 + (k - number / 2)**2) for l in range(block): if distance >= partition[l] and distance < partition[ l + 1]: y_n[l] += 1 y[l] += pk_or_kr[1][i][j][k] del partition[-1] for i in range(block): if y_n[i] <> 0: y[i] = y[i] / y_n[i] return partition, y