Definition at line 549 of file mainIm.cpp. References Impala::atol(), Impala::CmdOptions::GetArg(), Impala::Util::Database::GetInstance(), Impala::CmdOptions::GetInstance(), Impala::CmdOptions::GetNrArg(), ILOG_ERROR, ILOG_VAR, Impala::Core::Array::ReadRaw(), Impala::Core::Array::RGB2Intensity(), Impala::Core::Array::Set(), Impala::Core::Array::WatershedMarkers2(), and Impala::Core::Array::WriteRaw(). Referenced by mainIm(). 00550 { 00551 ILOG_VAR(Impala.Application.Im.DoWatershedMarkers2Vec3UInt8); 00552 CmdOptions& options = CmdOptions::GetInstance(); 00553 if (options.GetNrArg() < 7) 00554 { 00555 ILOG_ERROR("Need more arguments"); 00556 return; 00557 } 00558 Util::Database* db = &Util::Database::GetInstance(); 00559 00560 String dstName = options.GetArg(1); 00561 String srcName = options.GetArg(2); 00562 String maskName = options.GetArg(3); 00563 int conn = atol(options.GetArg(4)); 00564 int doLabel = atol(options.GetArg(5)); 00565 int costMethod = atol(options.GetArg(6)); 00566 00567 Array2dVec3UInt8* srcData = 0; 00568 ReadRaw(srcData, srcName, db); 00569 Array2dScalarReal64* rData = 0; 00570 RGB2Intensity(rData, srcData); 00571 Array2dScalarInt32* intData = 0; 00572 Set(intData, rData); 00573 00574 ReadRaw(srcData, maskName, db); 00575 RGB2Intensity(rData, srcData); 00576 Array2dScalarInt32* mIntData = 0; 00577 Set(mIntData, rData); 00578 00579 Array2dScalarInt32* res = 0; 00580 WatershedMarkers2(res, intData, mIntData, conn, doLabel != 0, costMethod); 00581 WriteRaw(res, dstName, db, 1); 00582 delete srcData; 00583 delete rData; 00584 delete res; 00585 }
Here is the call graph for this function: ![]()
|