Nothing
#' Histogram according to a binary
#' @description The \code{histo.from.bin} function computes the voxels histogram
#' of the selection defined by the binary object \code{sel.bin} of a "volume"
#' class object.
#' @param vol "volume" class object
#' @param sel.bin "volume" class object, of \code{binary} modality
#' @param breaks Vector giving the breakpoints between histogram cells. If
#' \code{breaks = NULL}, the chosen breakpoints are those used by the
#' \link[graphics]{hist} function by default. If \code{breaks} are specified,
#' outside values of \code{vol$vol3D.data} are not taken into account.
#' @param alias Character string, \code{$alias} of the created object
#' @param description Character string, describing the the created object. If the
#' \code{description = NULL} (default value),it will be set to \code{vol$description}
#' @return Returns a "histo" class object. See \link[espadon]{histo.vol}.
#' @seealso \link[espadon]{histo.from.roi}, \link[espadon]{histo.vol},
#' \link[espadon]{display.histo}, \link[espadon]{display.dV_dx}
#' @examples
#' # loading of toy-patient objects (decrease dxyz for better result)
#' step <- 5
#' patient <- toy.load.patient (modality = c("ct","rtstruct"), roi.name = "",
#' dxyz = rep (step, 3))
#' bin.patient <- bin.from.roi (patient$ct[[1]], struct = patient$rtstruct[[1]],
#' roi.name = "patient", verbose = FALSE)
#' # ct histogram in patient volume
#' H <- histo.from.bin (patient$ct[[1]], sel.bin = bin.patient, breaks = NULL,
#' alias = "patient_hist")
#' str(H)
#'
#' \dontrun{
#' # Skin dose histogram
#' patient <- toy.load.patient (modality = c("rtdose", "rtstruct"), roi.name = "",
#' dxyz = c (2, 2, 2), beam.nb = 3)
#' D <- patient$rtdose[[1]]
#' S <- patient$rtstruct[[1]]
#'
#' # Creation of the skin contour of 3 mm
#' bin.patient <- bin.from.roi (D, struct = S, roi.name = "patient",
#' alias = "patient", verbose = FALSE)
#' inverse.patient <- bin.inversion (bin.patient, alias = "inv (patient)")
#' expansion <- bin.dilation (inverse.patient, radius = 3,
#' alias = "inv (patient) + 3")
#' contour.3mm <- bin.intersection (bin.patient, expansion,
#' alias = "contour 3 mm")
#'
#' # Dose histogram in this volume
#' H <- histo.from.bin (D, sel.bin = contour.3mm, breaks = NULL,
#' alias = "Skin dose")
#' str(H)
#' }
#' @export
#' @importFrom methods is
histo.from.bin <- function (vol, sel.bin, breaks = NULL, alias = "",
description = NULL) {
if (!is (vol, "volume")) stop ("vol should be a volume class object.")
if (!is (sel.bin, "volume")) stop ("sel.bin should be a volume class object.")
if ((sel.bin$modality!="binary" & sel.bin$modality!="weight")) stop ("sel.bin must be modality binary or weight.")
vol.sel <- vol.from.bin (vol, sel.bin, alias="dum")
vol.sel$object.alias <- vol.sel$ref.object.alias
vol.sel$object.info <- vol.sel$ref.object.info
weight <- NULL
if (sel.bin$modality =="weight") weight <- sel.bin
return (histo.vol (vol.sel, breaks = breaks, alias=alias,
description = description,weight=weight))
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.