def __init__(self, parent=None):
        """
        Called when the user opens the module the first time and the widget is initialized.
        """
        ScriptedLoadableModuleWidget.__init__(self, parent)
        VTKObservationMixin.__init__(
            self)  # needed for parameter node observation

        self.logic = None
        self._parameterNode = None
        # data var
        self._dataFolder = None
        self._scanPaths = []
        self._finishedPaths = []
        self._currScanIdx = None
        self._currVolumeNode = None
        self.dgPositivePointListNode = None
        self.dgPositivePointListNodeObservers = []
        self.dgNegativePointListNode = None
        self.dgNegativePointListNodeObservers = []
        self._prevCatg = None
        self._loadingScans = set()
        self.pb = None

        # status var
        self._turninig = False
        self._dirty = False
        self._syncingCatg = False
        self._usingInteractive = False
        self._updatingGUIFromParameterNode = False
        self._endImportProcessing = False
        self._addingControlPoint = False
        self._lastTurnNextScan = True

        self.init_params()

        Called when the user opens the module the first time and the widget is initialized.
        
EISeg/med3d/EISegMed3D/EISegMed3D.py