glowgreen.clearance module

class glowgreen.clearance.Clearance_1m(model, model_params, distance)

Bases: object

Class for the dose rate clearance function from a radioactive person.

Supply an exponential or biexponential model of the dose rate at some distance (between 1 and 3 m) from the radioactive person as a function of the time from administration of the radioactive substance.

The dose rate at 1 m is calculated assuming it drops off with distance as the inverse 1.5 power.

Parameters
  • model (str) – Type of clearance, either ‘exponential’ or ‘biexponential’.

  • model_params (list) – Model parameters in terms of dose rate at distance. If model is ‘exponential’, model_params is [initial dose rate (uSv/h) at distance, effective half-life (h)]. If model is ‘biexponential’, model_params is [initial dose rate (uSv/h) at distance, fraction of first component (0 to 1), half-life (h) of first component, half-life (h) of second component].

  • distance (int or float) – Distance (m) from radioactive person.

Raises
  • ValueError – If model not one of ‘exponential’ or ‘biexponential’.

  • TypeError – If model_params not list.

  • ValueError – If model_params not length 2 for exponential.

  • ValueError – If model_params not length 4 for biexponential.

  • TypeError – If element in model_params not int or float.

  • TypeError – If distance not int or float.

  • ValueError – If distance not between 1 and 3 m, inclusive.

at_timedelta(timedelta, init=None)

Return the dose rate (uSv/h) at 1 m from the radioactive person at timedelta (h) after administration. If init is provided and is not None, instead evaluate at timedelta the clearance function with initial value init.

For example, set init to the administered activity to return the activity on board the person at timedelta.

Parameters
  • timedelta (int or float) – Time (h) from administration.

  • init (int or float, optional) – Initial value of clearance function. Default is the initial dose rate at 1 m.

Raises
  • TypeError – If timedelta not int or float.

  • ValueError – If timedelta less than 0.

  • TypeError – If init not None and not int or float.

  • ValueError – If init not None and less than 0.

Returns

The dose rate at 1 m from the radioactive person at timedelta if init is None, else the clearance function with initial value init evaluated at timedelta.

Return type

float

get_timedelta(val, init=None)

Return the time (h) from administration to when the dose rate at 1 m from the radioactive person reaches val (uSv/h). If init is provided and is not None, the clearance function is used with initial value init instead of the initial dose rate at 1 m.

For example, set init to the administered activity to return the time for the activity on board the radioactive person to reach val.

Parameters
  • val (int or float) – Value to be reached by clearance function. If init is None, this is a dose rate (uSv/h) at 1 m.

  • init (int or float, optional) – Initial value of the clearance function. Default is the initial dose rate at 1 m.

Raises
  • TypeError – If val not int or float.

  • ValueError – If val not greater than 0.

  • TypeError – If init not None and not int or float.

  • ValueError – If init not None and not greater than 0.

  • ValueError – If val greater than or equal to initial value of clearance function.

Returns

Time (h) from administration to when the clearance function reaches val.

Return type

float

residence_time()

Return the whole body residence time (a.k.a. time-integrated activity coefficient) for the radioactive person.

Returns

Residence time (h).

Return type

float