def TMatrixCalc(self, TMatrix_Planned_Input, thread=3): try: logging.info("T-Matrix calculation started.") division = thread TMatrix_Planned_Input_Chopped = GF.DivideArray( numberOfDivisions=division, List=TMatrix_Planned_Input) func = partial(self.TMatrixInterpolator, self.__TMatrix_DB_Main_Data_Full, self.__TMatrix_DB_Main_Unique_Values, self.__TMatrix_DB_Main_ABS_Coeff_Full, self.__TMatrix_DB_Main_SCT_Coeff_Full) arrInTMatrix = [] arrOutTMatrix = [] with ThreadPoolExecutor() as executor: for inputs, outputs in zip( TMatrix_Planned_Input_Chopped, executor.map(func, TMatrix_Planned_Input_Chopped)): arrInTMatrix.append(inputs) arrOutTMatrix.append(outputs) #################################### self.__TMatrix_Interpolation_Input = [] self.__TMatrix_Interpolation_Output = [] for i in range(division): for j in range(len(arrInTMatrix[i])): self.__TMatrix_Interpolation_Input.append( arrInTMatrix[i][j]) for j in range(len(arrOutTMatrix[i][0])): arrT = [] arrT.append(arrOutTMatrix[i][0][j]) arrT.append(arrOutTMatrix[i][1][j]) self.__TMatrix_Interpolation_Output.append(arrT) logging.info("T-Matrix calculation finished.") return self.__TMatrix_Interpolation_Input, self.__TMatrix_Interpolation_Output except Exception as e: logging.exception(e) raise
'Df', 'R_RI', 'I_RI', 'MP', 'Np', 'Ext_CS_M', 'Sca_CS_M', 'Abs_CS_M' ] tableName = 'Raw_V1' DB.createTable(INFO=DB_Info, TableName=tableName, arrHeaderNamesInput=Header) ############################################################################## List2D1p8 = GF.DAT_To2DList(address=Address1p8) List2D1p8 = GF.ChangeColumnOf2D(list=List2D1p8, columnNumber=0, changeTo="1.8") List2D1p8 = GF.SelectColumnsList(columnIndex=[0, 1, 2, 3, 4, 6, 7, 8], list=List2D1p8) numberDivisions = 4 List2D1p8_M = GF.DivideArray(numberDivisions, List2D1p8) for i in range(numberDivisions): DB.insertArrayIntoTable(INFO=DB_Info, TableName=tableName, NameArray=Header, Array=List2D1p8_M[i]) ############################################################################## List2D2p3 = GF.DAT_To2DList(address=Address2p3) List2D2p3 = GF.ChangeColumnOf2D(list=List2D2p3, columnNumber=0, changeTo="2.3") List2D2p3 = GF.SelectColumnsList(columnIndex=[0, 1, 2, 3, 4, 6, 7, 8], list=List2D2p3) numberDivisions = 4 List2D2p3_M = GF.DivideArray(numberDivisions, List2D2p3) for i in range(numberDivisions):