Scope
|
#include <StorageController_p.h>
Inherits scope::BaseController< N_ACTIVES, STATIC_PIMPL >::Impl.
Public Member Functions | |
Impl (SynchronizedQueue< ScopeMessage< SCOPE_MULTIIMAGEPTR_T >> *const _iqueue, const parameters::Scope &_parameters) | |
~Impl () | |
void | StopOne (const uint32_t &_a) override |
void | FixTIFFTags () |
Public Member Functions inherited from scope::BaseController< N_ACTIVES, STATIC_PIMPL >::Impl | |
Impl (const parameters::Scope &_parameters) | |
virtual void | Start (const parameters::Scope &_params) |
virtual void | StopAll () |
virtual ControllerReturnStatus | WaitForOne (const uint32_t &_a, const int32_t &_wait_time) |
virtual ControllerReturnStatus | WaitForAll (const int32_t &_wait_time) |
Protected Member Functions | |
Impl (const Impl &i) | |
Impl | operator= (const Impl &i) |
ControllerReturnStatus | Run (StopCondition *const sc, const uint32_t &_area) override |
std::wstring | CreateFolder () |
void | InitializeEncoders (const bool &_dosave, const std::wstring &_foldername) |
Protected Attributes | |
SynchronizedQueue< ScopeMessage< SCOPE_MULTIIMAGEPTR_T > > *const | input_queue |
uint32_t | runcounter |
std::array< std::vector< std::wstring >, SCOPE_NAREAS > | filenames |
std::array< std::unique_ptr< ScopeMultiImageEncoder >, SCOPE_NAREAS > | encoders |
ScopeLogger | scope_logger |
Protected Attributes inherited from scope::BaseController< N_ACTIVES, STATIC_PIMPL >::Impl | |
std::array< std::shared_future< ControllerReturnStatus >, N_ACTIVES > | futures |
std::array< StopCondition, N_ACTIVES > | stops |
parameters::Scope | parameters |
The implementation class of the StorageController.
Runs in one separate thread.
Definition at line 20 of file StorageController_p.h.
|
protected |
disable copy
|
inlineexplicit |
Connect the input queue and take parameters.
Definition at line 209 of file StorageController_p.h.
|
inlinevirtual |
Stop the controller and interrupt thread if necessary.
Reimplemented from scope::BaseController< N_ACTIVES, STATIC_PIMPL >::Impl.
Definition at line 216 of file StorageController_p.h.
|
inlineoverrideprotectedvirtual |
Main function for running data conversion to TIFF and storage.
It is executed asynchronously.
Reimplemented from scope::BaseController< N_ACTIVES, STATIC_PIMPL >::Impl.
Definition at line 47 of file StorageController_p.h.
|
inlineprotected |
Create folder.Fformat is: "folder/date/time_runmode/".
Definition at line 157 of file StorageController_p.h.
|
inlineprotected |
Creates and initializes the encoders.
Definition at line 191 of file StorageController_p.h.
|
inlineoverridevirtual |
We need to override here.
The dequeue in Run could block/wait since nothing is in the queue. To stop we put a message with abort tag in, it gets dequeued and we break from the while loop. (In addition we call BaseController::Impl::StopOne which sets the StopCondition to true.
Reimplemented from scope::BaseController< N_ACTIVES, STATIC_PIMPL >::Impl.
Definition at line 224 of file StorageController_p.h.
|
inline |
Write correct Tiff flags into files (fix the ones that are by default written by the WIC.
Use a format (writing into the ImageDescription tag) that ImageJ will recognise. Run exiftool.exe in a separate process (tried libexiv2, but that could not overwrite some tags).
Definition at line 233 of file StorageController_p.h.
|
protected |
Input queue with multi images from the PipelineController.
Definition at line 25 of file StorageController_p.h.
|
protected |
for continuous file numbering
Definition at line 28 of file StorageController_p.h.
|
protected |
Keep track of filenames.
Definition at line 31 of file StorageController_p.h.
|
protected |
the encoders (encapsulating the WIC stuff)
Definition at line 34 of file StorageController_p.h.
|
protected |
the logger kept handy
Definition at line 37 of file StorageController_p.h.