Пример #1
0
    def size(self, size):
        if not positive_real_valued(size):
            raise ValueError('argument "size" must be a positive int')
        else:
            self.__size = int(size)
            self.dvh = DVH(self.size)

            # default to uniformly weighted voxels
            self.voxel_weights = np.ones(self.size)
Пример #2
0
	def size(self, size):
		if not positive_real_valued(size):
			raise ValueError('argument "size" must be a positive int')
		else:
			self.__size = int(size)
			self.dvh = DVH(self.size)

			# default to uniformly weighted voxels
			self.voxel_weights = ones(self.size)
Пример #3
0
	def w_over(self):
		"""
		Overdose weight for structure's optimization objective.

		Getter returns weight normalized by structure size. Setter sets
		raw weight.

		Raises:
			TypeError: If ``w_over`` not :obj:`int` or :obj:`float`.
			ValueError: If ``w_over`` negative.
		"""
		if not positive_real_valued(self.size):
			return nan

		if isinstance(self.__w_over, (float, int)):
			return self.__w_over / float(self.size)
		else:
			return None
Пример #4
0
    def plannable(self):
        """
		True if structure's attached data is sufficient for optimization.

		Minimum requirements:
			- Structure size determined, and
			- Dose matrix assigned, *or*
			- Structure collapsable and mean dose matrix assigned.
		"""
        size_determined = positive_real_valued(self.size)
        full_mat_usable = sparse_or_dense(self.A_full)
        if full_mat_usable:
            full_mat_usable &= self.size == self.A_full.shape[0]

        collapsed_mat_usable = bool(
            isinstance(self.A_mean, np.ndarray) and self.collapsable)

        usable_matrix_loaded = full_mat_usable or collapsed_mat_usable
        return size_determined and usable_matrix_loaded
Пример #5
0
	def plannable(self):
		"""
		True if structure's attached data is sufficient for optimization.

		Minimum requirements:
			- Structure size determined, and
			- Dose matrix assigned, *or*
			- Structure collapsable and mean dose matrix assigned.
		"""
		size_set = positive_real_valued(self.size)
		full_mat_usable = sparse_or_dense(self.A_full)
		if full_mat_usable:
			full_mat_usable &= self.size == self.A_full.shape[0]

		collapsed_mat_usable = bool(
				isinstance(self.A_mean, ndarray) and self.collapsable)

		usable_matrix_loaded = full_mat_usable or collapsed_mat_usable
		return size_set and usable_matrix_loaded