38 m_MeshAttributes(NULL)
60 std::vector< std::string > > PairTemp;
65 std::cout <<
"No info for the channels" << std::endl;
66 std::cout <<
"Debug: In " << __FILE__ <<
", line " << __LINE__;
67 std::cout << std::endl;
70 for (
size_t i = 0; i < NumberOfChannels; i++ )
72 std::string InfoName =
"TotalIntensityForChannelID";
76 std::string ColumnNameTableWidget =
"T.I.";
79 temp.
ToolTip =
"Total Intensity For the Channel";
84 PairTemp.first = temp;
98 std::vector< std::string > > PairTemp;
104 PairTemp.first = temp;
112 PairTemp.first = temp;
123 PairTemp.first = temp;
136 PairTemp.first = temp;
147 PairTemp.first = temp;
160 PairTemp.first = temp;
169 vtkMySQLDatabase *iDatabaseConnector, std::vector< std::string > iVectMeshIDs)
171 std::vector< std::vector< std::string > > ValuesToFill;
172 std::vector< std::string > SelectFields;
183 ValuesToFill, SelectFields,
"ColumnNameTableWidget");
190 vtkMySQLDatabase *iDatabaseConnector,
191 std::vector< std::string > iVectMeshIDs,
192 std::vector< std::vector< std::string > > & ioValuesToFill,
193 std::vector< std::string > & ioSelectFields)
202 std::string NameTableWidgetColumn =
"T.I.";
204 ioSelectFields.push_back(NameTableWidgetColumn);
207 if ( iVectMeshIDs.empty() )
212 std::vector< std::string > SelectedFields(3);
213 SelectedFields.at(0) =
"mesh.meshid";
214 SelectedFields.at(1) =
"left(points,10) as points";
215 SelectedFields.at(2) =
"value";
216 std::vector< std::string > ResultQuery;
218 if ( iVectMeshIDs.size() == 1 )
221 ioValuesToFill, iDatabaseConnector);
225 std::vector< FieldWithValue > Condition(1);
227 Condition[0] = ImgSession;
230 iDatabaseConnector, this->
m_TracesName,
"intensity", SelectedFields,
231 JoinCondition, Condition);
233 ResultQuery, iVectMeshIDs, ioValuesToFill);
241 std::vector< std::vector< std::string > > & ioValuesToFill,
242 vtkMySQLDatabase *iDatabaseConnector)
244 std::vector< std::string > temp;
248 std::vector< FieldWithValue > Conditions(2);
251 Conditions[0] = MeshID;
252 Conditions[1] = ChannelID;
254 int ValueIntensity =
FindOneID(iDatabaseConnector,
"intensity",
255 "Value", Conditions);
256 if ( ValueIntensity == -1 )
262 temp.push_back( ConvertToString< int >(ValueIntensity) );
265 ioValuesToFill.push_back(temp);
272 (std::vector< std::string > iResultQuery, std::vector< std::string > iVectMeshIDs,
273 std::vector< std::vector< std::string > > & ioValuesToFill)
275 std::vector< std::string >::iterator iterResult = iResultQuery.begin();
279 std::vector< std::string >::iterator iterMeshID = iVectMeshIDs.begin();
283 while ( ( iterMeshID != iVectMeshIDs.end() )
284 && ( iterResult != iResultQuery.end() ) )
287 std::vector< std::string > temp;
288 std::string Points = *iterResult;
289 std::string IntensityValue;
290 if ( ( Points ==
"0" ) || ( Points ==
"" ) )
297 temp.push_back(IntensityValue);
301 if( iterResult != iResultQuery.end() )
307 itkGenericExceptionMacro( <<
"iterResult == iResultQuery" );
309 if( iterResult != iResultQuery.end() )
315 itkGenericExceptionMacro( <<
"iterResult == iResultQuery" );
320 if( iterResult != iResultQuery.end() )
326 itkGenericExceptionMacro( <<
"iterResult == iResultQuery" );
331 if ( iterResult != iResultQuery.end() )
333 IntensityValue = *iterResult;
334 temp.push_back(IntensityValue);
338 if( iterResult != iResultQuery.end() )
344 itkGenericExceptionMacro( <<
"iterResult == iResultQuery" );
346 if( iterResult != iResultQuery.end() )
352 itkGenericExceptionMacro( <<
"iterResult == iResultQuery" );
354 if( iterResult != iResultQuery.end() )
360 itkGenericExceptionMacro( <<
"iterResult == iResultQuery" );
363 IntensityValue = *iterResult;
364 temp.push_back(IntensityValue);
366 if( iterResult != iResultQuery.end() )
372 itkGenericExceptionMacro( <<
"iterResult == iResultQuery" );
375 ioValuesToFill.push_back(temp);
384 vtkMySQLDatabase *iDatabaseConnector,
int iMeshID)
386 std::vector< std::string > MeshIDs;
387 MeshIDs.push_back( ConvertToString< int >(iMeshID) );
395 std::vector< std::vector< std::string > > & ioValuesToFill,
396 std::vector< std::string > & ioSelectFields)
400 if ( ioValuesToFill.size() != 1 )
402 std::cout <<
"more than 1 mesh for volume and surface values" << std::endl;
403 std::cout <<
"Debug: In " << __FILE__ <<
", line " << __LINE__;
404 std::cout << std::endl;
409 std::vector< std::string > temp = ioValuesToFill.at(0);
410 ioSelectFields.push_back(
"Volume");
412 ioSelectFields.push_back(
"SurfaceArea");
414 ioValuesToFill.clear();
415 ioValuesToFill.push_back(temp);
425 vtkMySQLDatabase *iDatabaseConnector, std::list<unsigned int> iListTPs)
428 std::vector< std::string > VectMeshIDs;
429 if (iListTPs.empty() )
432 iDatabaseConnector,
"mesh",
"MeshID",
"ImagingSessionID",
441 iDatabaseConnector,
"mesh",
"coordinate",
"MeshID", joinCondition,
442 "coordinate.TCoord", VectorValues, andCondition);
454 vtkMySQLDatabase *iDatabaseConnector)
458 std::vector< std::string > SelectFields;
459 SelectFields.push_back(
"Name");
460 SelectFields.push_back(
"channel.ChannelID");
461 std::vector< std::string > JoinTablesOnTraceTable;
462 JoinTablesOnTraceTable.push_back(
"channel");
463 JoinTablesOnTraceTable.push_back(
"image.ChannelID = channel.ChannelID");
466 iDatabaseConnector,
"image", SelectFields,
"ImagingSessionID",
467 ConvertToString< unsigned int >(this->
m_ImgSessionID), JoinTablesOnTraceTable,
true);
478 vtkMySQLDatabase *iDatabaseConnector,
int iTraceID)
std::list< unsigned int > GetListValuesFromTwoTablesAndCondition(vtkMySQLDatabase *iDatabaseConnector, const std::string &iTableOne, const std::string &iTableTwo, const std::string &iColumn, const FieldWithValue &iJoinCondition, const std::string &iField, const std::vector< std::string > &iVectorValues, const FieldWithValue &iAndCondition)
std::vector< std::vector< std::string > > GetValuesFromSeveralTables(vtkMySQLDatabase *DatabaseConnector, const std::string &MainTable, const std::vector< std::string > &SelectFields, const std::string &field, const std::string &value, const std::vector< std::string > &JoinTablesOnTraceTable, bool Distinct)
This class describes the specificities of the GoDBTableWidgetContainer for contour and mesh...
std::list< unsigned int > GetAllSelectedValuesFromTwoTables(vtkMySQLDatabase *iDatabaseConnector, const std::string &iTableOne, const std::string &iTableTwo, const std::string &iColumn, const FieldWithValue &iJoinCondition, const std::vector< FieldWithValue > &iFieldsWithValues, bool Distinct)
std::vector< std::string > ListSpecificValuesForOneColumn(vtkMySQLDatabase *iDatabaseConnector, const std::string &TableName, const std::string &ColumnName, const std::string &field, const std::string &value, bool ExcludeZero)
SELECT ColumnName FROM TableName WHERE field = value and ColumnName <> 0 (if excludezero) ...
int FindOneID(vtkMySQLDatabase *DatabaseConnector, const std::string &TableName, const std::string &ColumnName, const std::string &field, const std::string &value)
SELECT ColumnName FROM TableName WHERE field = value.
std::vector< std::string > ListUnsgIntToVectorString(const std::list< unsigned int > &iList)