xtraction module
Xtraction is a improved list of xsteps.
By using this one can change between gui and script and also exchange the order of steps including boundaries of extraction area and parameters
Offers:
List of steps, which all work on the same DutViews for reference and extraction
Modelcard management using a global and local modelcards and push_modelcard/pull_modelcard.
Saving and loading of whole extractions
Access point for
XtractionGui
- class DMT.extraction.xtraction.IterXtraction(xtraction, pull, push, initial_guess)[source]
Bases:
object
Xtraction steps iterator
use with:
for i_step, step in xtraction.iter_steps(pull=True, push=False, initial_guess=[0, 4]) step.extract()
- Parameters:
- pullbool or
list
,optional
- Is done before the current step is returned from the iterator.
In case list is given, it must be a list of numbers in which pull is used.
- pushbool or list, optional
Is done before the next step is returned from the iterator. In case list is given, it must be a list of numbers in which push is used.
- initial_guessbool or list, optional
Is done before the current step is returned from the iterator. In case list is given, it must be a list of numbers in which initial guess is used.
- pullbool or
- class DMT.extraction.xtraction.Xtraction(name: str, mcard: MCard, save_dir: str | Path, lib: DutLib, autosave_pushed_modelcards: Literal['no', 'yes', 'code', 'code_compressed'] = 'no', technology: Technology | None = None)[source]
Bases:
QObject
Xtraction objects are a container for XStep objects and can be used to define a model parameter extraction flow. Xtraction objects can be displayed in the DMT.extraction.gui and provide routines for plotting and documenting a parameter extraction.
- Parameters:
- mcard
MCard
This MCard needs to hold all parameters (incl. boundaries) of the model and is used for simulations or model equation calculations.
- save_dir
str
Path to folder where all databases are saved.
- dut_ref
DutView
This device needs to hold relevant reference data in one or more DataFrames.
- dut_ext
DutCircuit
The extraction Dut, whose model parameters shall be extracted; needed for model circuit simulations.
- mcard
- Attributes:
- mcard
MCard
This MCard needs to hold all parameters (incl. boundaries) of the model and is used for simulations or model equation calculations.
- dirs
dict
{key:str
} Path to folders where all databases are saved.
- lib
DutLib
This library holds all devices that are relevant for the extraction. This lib is passed to all xsteps.
- available_xsteps
list
[XStep
] List of xsteps for this extraction.
- curr_xstep
XStep
Current active xstep. All methods work with this xstep.
- autosave_pushed_modelcards{“no”,”yes”,”code”, “code_compressed”},
optional
If “yes”, saves each pushed modelcard with the timestamp as filename in the xtraction folder. If “code”, it turns on code saving in the modelcards to save. If “code_compressed”, the code is compressed to save.
- mcard
- activate_xstep(step_name)[source]
Sets self.curr_xstep to the step with the name step_name.
- Parameters:
- step_name
str
Name of the step to set.
- step_name
- iter_steps(pull=True, push=True, initial_guess=False)[source]
Get an step iterator
use with:
for i_step, step in xtraction.iter_steps(pull=True, push=False, initial_guess=[0, 4]) step.extract()
- Parameters:
- pullbool or
list
,optional
Is done before the current step is returned from the iterator. In case list is given, it must be a list of numbers in which pull is used.
- pushbool or
list
,optional
Is done before the next step is returned from the iterator. In case list is given, it must be a list of numbers in which push is used.
- initial_guessbool or
list
,optional
Is done before the current step is returned from the iterator. In case list is given, it must be a list of numbers in which initial guess is used.
- pullbool or
- Returns:
- iterator
IterXtraction
- iterator
- static load(path_extraction)[source]
Static class method. Loads a DutView object from a pickle file with full path save_dir.
- pull_global_mcard(initial_guess=False, mcard=None)[source]
Set all parameters that exist in both self.mcard and self.curren_xstep.mcard to self.current_xstep.mcard
- push_local_mcard(mcard=None)[source]
Set the parameters in my mcard according to the paramaters_to_push attribute of the current_xstep. And saves it to the local mcard folder with the time as name.
- save()[source]
Saves the current extraction status in the given directory. The extraction status includes the steps, the modelcard and the current duts.
- set_technology(technology)[source]
Set a technology for this extraction that holds necessary technology-specific scaling and extraction routines.
Just use the setter propery. This method is deprecated!
- staticMetaObject = PySide6.QtCore.QMetaObject("Xtraction" inherits "QObject": Methods: #4 type=Signal, signature=stepChanged() #5 type=Signal, signature=mcardChanged() )[source]
- step(step, bounds)[source]
perform an extraction of XStep step using bounds. Before, pull global Mcard, then push local Mcard.
- property technology[source]
Technology of this xtraction.
- Returns:
Technology
Directly the set technology