void TransposeTransformer::Initialize(TransformerPtr next, const ConfigParameters &readerConfig) { TransformerBase::Initialize(next, readerConfig); // Currently we only support a single stream. ImageConfigHelper config(readerConfig); size_t featureStreamId = config.GetFeatureStreamId(); m_appliedStreamIds.push_back(featureStreamId); const auto &inputStreams = GetInputStreams(); m_outputStreams.resize(inputStreams.size()); std::copy(inputStreams.begin(), inputStreams.end(), m_outputStreams.begin()); for (auto id : m_appliedStreamIds) { auto &stream = inputStreams[id]; ImageDimensions dimensions(*stream->m_sampleLayout, HWC); // Changing from NHWC to NCHW auto changedStream = std::make_shared<StreamDescription>(*stream); changedStream->m_sampleLayout = std::make_shared<TensorShape>(dimensions.AsTensorShape(CHW)); m_outputStreams[id] = changedStream; } }
void ColorTransformer::Initialize(TransformerPtr next, const ConfigParameters &readerConfig) { ImageTransformerBase::Initialize(next, readerConfig); auto featureStreamIds = GetAppliedStreamIds(); InitFromConfig(readerConfig(GetInputStreams()[featureStreamIds[0]]->m_name)); }
void MeanTransformer::Initialize(TransformerPtr next, const ConfigParameters &readerConfig) { ImageTransformerBase::Initialize(next, readerConfig); auto featureStreamIds = GetAppliedStreamIds(); if (featureStreamIds.size() != 1) { RuntimeError("Only a single feature stream is supported."); } InitFromConfig(readerConfig(GetInputStreams()[featureStreamIds[0]]->m_name)); }
void ScaleTransformer::Initialize(TransformerPtr next, const ConfigParameters &readerConfig) { ImageTransformerBase::Initialize(next, readerConfig); m_interpMap.emplace("nearest", cv::INTER_NEAREST); m_interpMap.emplace("linear", cv::INTER_LINEAR); m_interpMap.emplace("cubic", cv::INTER_CUBIC); m_interpMap.emplace("lanczos", cv::INTER_LANCZOS4); auto featureStreamIds = GetAppliedStreamIds(); const auto &feature = GetInputStreams()[featureStreamIds[0]]; m_dataType = feature->m_elementType == ElementType::tfloat ? CV_32F : CV_64F; InitFromConfig(readerConfig(feature->m_name)); }