nanotune.fit.dotfit

class nanotune.fit.dotfit.DotFit(qc_run_id: int, db_name: str, db_folder: Optional[str] = None, segment_size: float = 0.05, fit_parameters: Optional[Dict[str, Dict[str, Union[int, float]]]] = None, **kwargs)[source]

Bases: DataFit

Data fitting class for double dot charge diagrams. Beside fitting it also allows to segment a diagram into subregions which can be classified independently.

fit_parameters

parameters required for fitting. Nested dict with a subdict for each readout methods. Subdicts have keys noise_floor, binary_neighborhood, dot_signal_threshold and distance_threshold.

segment_size

voltage range spanned by each sub-region to be classified seperately.

segmented_data

diagram sub-regions.

triple_points

triple point located by the fitting routine.

property range_update_directives: List[str]

Determines whether nearby gates need to be adjustes towards more positive or negative values. Signal strenghts of all four edges of the diagram are compared to the noise floor and dot signal threshold of a given readout method.

find_fit() None[source]

Locates triple points for each trace that was measured (one for readout method.

prepare_segmented_data(use_raw_data: bool = False) None[source]

Segments a charge diagram into sub-regions. Result is retained under the segmented_data attribute.

Parameters

use_raw_data – whether to segment raw data. Normalized data is used if not.

save_segmented_data_return_info(segment_db_name: str, segment_db_folder: Optional[str] = None) Dict[int, Dict[str, Any]][source]

Save each mesh in a new dataset in given databases

Returns

dict – nested, with the data ID as key on the first level, readout method and voltage_ranges on the second.

get_edge(which_one: str, readout_method: str = 'transport', delta_v: float = 0.05, use_raw_data: bool = False) ndarray[Any, dtype[float64]][source]

Isolates a border of a 2D measurements. Used to determine a device’s regime

get_triple_point_distances() Dict[str, List[Any]][source]

Returns distances between peaks in heatmap. The idea behind this method was to extract triple point distances needed to fit the capacitance model. The latter is yet to be implemented and this current method is not robust.

plot_fit(ax: Optional[Axes] = None, colorbar: Optional[Colorbar] = None, save_figure: Optional[bool] = True, filename: Optional[str] = None, file_location: Optional[str] = None, plot_params: Optional[Dict[str, Any]] = None, plot_format: str = 'png', singledot: bool = False) Tuple[Axes, Colorbar][source]
nanotune.fit.dotfit.get_point_distances(p1, p2)[source]

return distance and points