Isis Developer Reference
ProcessByBoxcar.h
Go to the documentation of this file.
1 #ifndef ProcessByBoxcar_h
2 #define ProcessByBoxcar_h
3 
8 /* SPDX-License-Identifier: CC0-1.0 */
9 #include "Process.h"
10 #include "Buffer.h"
11 
12 namespace Isis {
39  class ProcessByBoxcar : public Isis::Process {
40 
41  private:
42  bool p_boxsizeSet;
43  int p_boxSamples;
44  int p_boxLines;
45 
46 
47  public:
48 
51  p_boxsizeSet = false;
52  };
53 
55  virtual ~ProcessByBoxcar() {};
56 
57  void SetBoxcarSize(const int ns, const int nl);
58 
59  using Isis::Process::StartProcess; // make parent functions visable
60  virtual void StartProcess(void funct(Isis::Buffer &in, double &out));
61  void ProcessCube(void funct(Isis::Buffer &in, double &out)) {
62  StartProcess(funct);
63  }
64 
65  void EndProcess();
66  void Finalize();
67  };
68 };
69 
70 #endif
ProcessByBoxcar.h
Isis::LineManager
Buffer manager, for moving through a cube in lines.
Definition: LineManager.h:39
Isis::BoxcarCachingAlgorithm
This algorithm is designed for applications that jump around between a couple of spots in the cube wi...
Definition: BoxcarCachingAlgorithm.h:32
Isis::BufferManager::next
bool next()
Moves the shape buffer to the next position.
Definition: BufferManager.h:106
Isis::ProcessByBoxcar::StartProcess
virtual void StartProcess(void funct(Isis::Buffer &in, double &out))
Starts the systematic processing of the input cube by moving a boxcar, p_boxSamples by p_boxLines,...
Definition: ProcessByBoxcar.cpp:42
Isis::ProcessByBoxcar::ProcessCube
void ProcessCube(void funct(Isis::Buffer &in, double &out))
Definition: ProcessByBoxcar.h:61
BoxcarCachingAlgorithm.h
Process.h
Isis::ProcessByBoxcar::Finalize
void Finalize()
End the boxcar processing sequence and cleans up by closing cubes, freeing memory,...
Definition: ProcessByBoxcar.cpp:123
LineManager.h
Isis::Process
Base class for all cube processing derivatives.
Definition: Process.h:143
Isis::BoxcarManager
Buffer manager, for moving through a cube by boxcar.
Definition: BoxcarManager.h:46
Isis::ProcessByBoxcar::ProcessByBoxcar
ProcessByBoxcar()
Constructs a ProcessByBoxcar object.
Definition: ProcessByBoxcar.h:50
Isis::ProcessByBoxcar
Process cubes by boxcar.
Definition: ProcessByBoxcar.h:39
Isis::Process::StartProcess
virtual void StartProcess(void funct())
In the base class, this method will invoked a user-specified function exactly one time.
Definition: Process.h:213
Isis::BufferManager::begin
bool begin()
Moves the shape buffer to the first position.
Definition: BufferManager.h:96
Isis::Process::EndProcess
virtual void EndProcess()
End the processing sequence and cleans up by closing cubes, freeing memory, etc.
Definition: Process.cpp:455
Isis::Buffer
Buffer for reading and writing cube data.
Definition: Buffer.h:53
Isis::BufferManager::end
bool end() const
Returns true if the shape buffer has accessed the end of the cube.
Definition: BufferManager.h:115
Buffer.h
BoxcarManager.h
_FILEINFO_
#define _FILEINFO_
Macro for the filename and line number.
Definition: IException.h:24
Isis::IException
Isis exception class.
Definition: IException.h:91
Isis::ProcessByBoxcar::SetBoxcarSize
void SetBoxcarSize(const int ns, const int nl)
Sets the boxcar size.
Definition: ProcessByBoxcar.cpp:24
std
Namespace for the standard library.
Isis::ProcessByBoxcar::~ProcessByBoxcar
virtual ~ProcessByBoxcar()
Destroys the ProcessByBoxcar object.
Definition: ProcessByBoxcar.h:55
Isis::Buffer::size
int size() const
Returns the total number of pixels in the shape buffer.
Definition: Buffer.h:97
Isis::Process::Finalize
virtual void Finalize()
Cleans up by closing cubes and freeing memory for owned cubes.
Definition: Process.cpp:463
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
Isis::ProcessByBoxcar::EndProcess
void EndProcess()
End the boxcar processing sequence and cleans up by closing cubes, freeing memory,...
Definition: ProcessByBoxcar.cpp:112