public static double[,,] EsapiDoseToDose3dArray(Dose doseEsapi) { int xSize = doseEsapi.XSize; int ySize = doseEsapi.YSize; int zSize = doseEsapi.ZSize; double[,,] dose3dArray = new double[zSize, ySize, xSize]; int[,] voxelValuesInPlane = new int[xSize, ySize]; for (int i = 0; i < zSize; i++) { doseEsapi.GetVoxels(i, voxelValuesInPlane); for (int j = 0; j < ySize; j++) { for (int k = 0; k < xSize; k++) { int voxelValue = voxelValuesInPlane[k, j]; var doseValue = doseEsapi.VoxelToDoseValue(voxelValue); dose3dArray[i, j, k] = doseValue.Dose; } } } return(dose3dArray); }
public static string EsapiDoseUnitString(Dose doseEsapi) { int xSize = doseEsapi.XSize; int ySize = doseEsapi.YSize; int[,] voxelValuesInPlane = new int[xSize, ySize]; doseEsapi.GetVoxels(0, voxelValuesInPlane); int voxelValue = voxelValuesInPlane[0, 0]; DoseValue doseValue = doseEsapi.VoxelToDoseValue(voxelValue); return(doseValue.UnitAsString); }
public static double[,] GetDosePlane(int z, Dose dose) { var voxels = new int[dose.XSize, dose.YSize]; dose.GetVoxels(z, voxels); var dosePlane = new double[dose.XSize, dose.YSize]; for (int x = 0; x < dose.XSize; x++) { for (int y = 0; y < dose.YSize; y++) { dosePlane[x, y] = dose.VoxelToDoseValue(voxels[x, y]).Dose; } } return(dosePlane); }