@@ -43,7 +43,7 @@ namespace api
4343 std::optional<unsigned int > loadOptionDpi;
4444 std::optional<int > imageRotation;
4545 std::optional<unsigned int > imageScale;
46- std::optional<std::string> imageSplit ;
46+ std::optional<std::string> imageSplitting ;
4747 std::optional<unsigned int > imageFlipping;
4848 std::optional<detector::api::DetectorType> detectorType;
4949 std::optional<bool > pureBarcode;
@@ -62,7 +62,7 @@ namespace api
6262
6363 unsigned int getImageScale () const { return imageScale.value_or (dip::PreProcessorOptions::DEFAULT .scalePercent ); }
6464
65- std::string getImageSplit () const { return imageSplit .value_or (dip::PreProcessorOptions::DEFAULT .split ); }
65+ std::string getImageSplit () const { return imageSplitting .value_or (dip::PreProcessorOptions::DEFAULT .splittingMode ); }
6666
6767 unsigned int getImageFlipping () const { return imageFlipping.value_or (dip::PreProcessorOptions::DEFAULT .flippingMode ); }
6868
@@ -199,7 +199,7 @@ namespace api
199199
200200 DecoderFacadeBuilder &DecoderFacadeBuilder::withImageSplit (std::string split)
201201 {
202- options->imageSplit = std::make_optional (split);
202+ options->imageSplitting = std::make_optional (split);
203203 return *this ;
204204 }
205205
@@ -316,9 +316,12 @@ namespace api
316316 }
317317
318318 template <typename T>
319- void DecoderFacade::decodeImage (input::api::InputElement inputElement, std::function<void (T &&, std::string)> transformer)
319+ void DecoderFacade::decodeImage (
320+ input::api::InputElement inputElement,
321+ std::optional<dip::PreProcessorOptions> preProcessorOptions,
322+ std::function<void (T &&, std::string)> transformer)
320323 {
321- auto source = internal->preProcessor .get (std::move (inputElement));
324+ auto source = internal->preProcessor .get (std::move (inputElement), preProcessorOptions );
322325 options.visitPreProcessorResult (source);
323326 if (!source.isValid ())
324327 {
@@ -345,10 +348,13 @@ namespace api
345348 }
346349
347350 template <typename T>
348- void DecoderFacade::decodeImageFiles (std::filesystem::path path, std::function<void (T &&, std::string)> transformer)
351+ void DecoderFacade::decodeImageFiles (
352+ std::filesystem::path path,
353+ std::optional<dip::PreProcessorOptions> preProcessorOptions,
354+ std::function<void (T &&, std::string)> transformer)
349355 {
350356 auto loadHandler = [&, this ](auto &&inputElement)
351- { decodeImage (std::move (inputElement), transformer); };
357+ { decodeImage (std::move (inputElement), preProcessorOptions, transformer); };
352358
353359 if (options.getAsynchronousLoad ())
354360 {
@@ -463,34 +469,40 @@ namespace api
463469 return decodeRawBytesToJson (utility::base64::decode (base64RawData), origin);
464470 }
465471
466- std::vector<std::pair<std::string, std::string>> DecoderFacade::decodeImageFilesToJson (std::filesystem::path path)
472+ std::vector<std::pair<std::string, std::string>> DecoderFacade::decodeImageFilesToJson (
473+ std::filesystem::path path,
474+ std::optional<dip::PreProcessorOptions> preProcessorOptions)
467475 {
468476 auto result = std::vector<std::pair<std::string, std::string>>{};
469- decodeImageFiles<decoder::api::Result>(path, [&](auto &&decoderResult, auto origin)
477+ decodeImageFiles<decoder::api::Result>(path, preProcessorOptions, [&](auto &&decoderResult, auto origin)
470478 { result.emplace_back (std::make_pair (std::move (origin), interpretRawBytes (std::move (decoderResult.payload ), origin))); });
471479 return result;
472480 }
473481
474- std::vector<std::pair<std::string, std::vector<std::uint8_t >>> DecoderFacade::decodeImageFilesToRawBytes (std::filesystem::path path)
482+ std::vector<std::pair<std::string, std::vector<std::uint8_t >>> DecoderFacade::decodeImageFilesToRawBytes (
483+ std::filesystem::path path,
484+ std::optional<dip::PreProcessorOptions> preProcessorOptions)
475485 {
476486 auto result = std::vector<std::pair<std::string, std::vector<std::uint8_t >>>{};
477- decodeImageFiles<decoder::api::Result>(path, [&](auto &&decoderResult, auto origin)
487+ decodeImageFiles<decoder::api::Result>(path, preProcessorOptions, [&](auto &&decoderResult, auto origin)
478488 { result.emplace_back (std::make_pair (std::move (origin), std::move (decoderResult.payload ))); });
479489 return result;
480490 }
481491
482- std::vector<std::pair<std::string, std::string>> DecoderFacade::decodeImageFilesToRawBase64 (std::filesystem::path path)
492+ std::vector<std::pair<std::string, std::string>> DecoderFacade::decodeImageFilesToRawBase64 (
493+ std::filesystem::path path,
494+ std::optional<dip::PreProcessorOptions> preProcessorOptions)
483495 {
484496 auto result = std::vector<std::pair<std::string, std::string>>{};
485- decodeImageFiles<decoder::api::Result>(path, [&](auto &&decoderResult, auto origin)
497+ decodeImageFiles<decoder::api::Result>(path, preProcessorOptions, [&](auto &&decoderResult, auto origin)
486498 { result.emplace_back (std::make_pair (origin, toMinimalJson (origin, decoderResult.payload , options.getJsonIndent ()))); });
487499 return result;
488500 }
489501
490502 std::vector<std::string> DecoderFacade::decodeImageToJson (input::api::InputElement inputElement)
491503 {
492504 auto result = std::vector<std::string>{};
493- decodeImage<decoder::api::Result>(std::move (inputElement), [&](auto &&decoderResult, auto origin)
505+ decodeImage<decoder::api::Result>(std::move (inputElement), std:: nullopt , [&](auto &&decoderResult, auto origin)
494506 { result.emplace_back (interpretRawBytes (std::move (decoderResult.payload ), origin)); });
495507 return result;
496508 }
0 commit comments