// ----------------------------------------------------------------------------- // // ----------------------------------------------------------------------------- void FlattenImage::execute() { VoxelDataContainer* m = getVoxelDataContainer(); if(NULL == m) { setErrorCondition(-999); notifyErrorMessage("The DataContainer Object was NULL", -999); return; } setErrorCondition(0); int64_t totalPoints = m->getTotalPoints(); size_t numgrains = m->getNumFieldTuples(); size_t numensembles = m->getNumEnsembleTuples(); dataCheck(false, totalPoints, numgrains, numensembles); if (getErrorCondition() < 0) { return; } float Rfactor = 1.0; float Gfactor = 1.0; float Bfactor = 1.0; if (m_FlattenMethod == DREAM3D::FlattenImageMethod::Average) { Rfactor = 1.0/3.0; Gfactor = 1.0/3.0; Bfactor = 1.0/3.0; } else if (m_FlattenMethod == DREAM3D::FlattenImageMethod::Luminosity) { Rfactor = 0.21; Gfactor = 0.72; Bfactor = 0.07; } #ifdef DREAM3D_USE_PARALLEL_ALGORITHMS tbb::task_scheduler_init init; bool doParallel = true; #endif size_t comp = m->getCellData(m_ImageDataArrayName)->GetNumberOfComponents(); // std::cout << "FlattenImage: " << m_ConversionFactor << std::endl; #ifdef DREAM3D_USE_PARALLEL_ALGORITHMS if (doParallel == true) { tbb::parallel_for(tbb::blocked_range<size_t>(0, totalPoints), FlattenImageImpl(m_ImageData, m_FlatImageData, Rfactor, Gfactor, Bfactor, comp), tbb::auto_partitioner()); } else #endif { FlattenImageImpl serial(m_ImageData, m_FlatImageData, Rfactor, Gfactor, Bfactor, comp); serial.convert(0, totalPoints); } notifyStatusMessage("Complete"); }
// ----------------------------------------------------------------------------- // // ----------------------------------------------------------------------------- void FlattenImage::execute() { setErrorCondition(0); dataCheck(); if(getErrorCondition() < 0) { return; } size_t totalPoints = m_ImageDataPtr.lock()->getNumberOfTuples(); float Rfactor = 1.0f; float Gfactor = 1.0f; float Bfactor = 1.0f; if (m_FlattenMethod == DREAM3D::FlattenImageMethod::Average) { Rfactor = 1.0f / 3.0f; Gfactor = 1.0f / 3.0f; Bfactor = 1.0f / 3.0f; } else if (m_FlattenMethod == DREAM3D::FlattenImageMethod::Luminosity) { Rfactor = 0.21f; Gfactor = 0.72f; Bfactor = 0.07f; } #ifdef SIMPLib_USE_PARALLEL_ALGORITHMS tbb::task_scheduler_init init; bool doParallel = true; #endif int32_t comp = m_ImageDataPtr.lock()->getNumberOfComponents(); // qDebug() << "FlattenImage: " << m_ConversionFactor << "\n"; #ifdef SIMPLib_USE_PARALLEL_ALGORITHMS if (doParallel == true) { tbb::parallel_for(tbb::blocked_range<size_t>(0, totalPoints), FlattenImageImpl(m_ImageData, m_FlatImageData, Rfactor, Gfactor, Bfactor, comp), tbb::auto_partitioner()); } else #endif { FlattenImageImpl serial(m_ImageData, m_FlatImageData, Rfactor, Gfactor, Bfactor, comp); serial.convert(0, totalPoints); } notifyStatusMessage(getHumanLabel(), "Complete"); }