def __init__(self, rhoNumber, phiNumber, tfNumber): self.rhoNumber = rhoNumber self.phiNumber = phiNumber self.tfNumber = tfNumber if rhoNumber == 0: self.rho = TrivialField() elif rhoNumber == 1: datasetDir = "datasets/" + repr(rhoNumber) self.rho = splineio.read(datasetDir + "/rho.json") else: self.rho = SineField() if phiNumber == 0: self.phi = TrivialGeometry() elif phiNumber == 1: datasetDir = "datasets/" + repr(phiNumber) self.phi = splineio.read(datasetDir + "/phi.json") else: self.phi = SineGeometry() if tfNumber == 0: self.tf = trivialtransfer.createTransferFunction() elif tfNumber == 1: self.tf = simpletransfer.createTransferFunction() else: self.tf = peakstransfer.createTransferFunction()
import matplotlib.pyplot as plt import numpy as np from matplotlib.gridspec import GridSpec import datasets.trivialtransfer as transfer fig = plt.figure(figsize=(8, 6)) gs = GridSpec(4, 1) axes = [] for i in range(4): axes.append(fig.add_subplot(4, 1, i + 1)) t = transfer.createTransferFunction() n = 100 scalars = np.linspace(0.0, 1.0, n) colors = np.zeros((n, 4)) for i, scalar in enumerate(scalars): colors[i] = t(scalar) # Hack to make top and bottom visible for c in range(4): if colors[i][c] < 0.01: colors[i][c] = 0.01 elif colors[i][c] > 0.97: colors[i][c] = 0.97