FrameTransformation: Split packing and compression
This commit is contained in:
@@ -40,11 +40,6 @@ FrameTransformation::FrameTransformation(const DiffractionExperiment &in_experim
|
||||
}
|
||||
}
|
||||
|
||||
FrameTransformation& FrameTransformation::SetOutput(void *output) {
|
||||
standard_output = (char *) output;
|
||||
return *this;
|
||||
}
|
||||
|
||||
template <class Td> void AddToFramesSum(Td *destination, const int16_t *source) {
|
||||
for (int i = 0; i < RAW_MODULE_SIZE; i++) {
|
||||
if ((source[i] == INT16_MIN) || (destination[i] == INT32_MIN))
|
||||
@@ -90,9 +85,7 @@ void FrameTransformation::Generate16BitPreview() {
|
||||
}
|
||||
}
|
||||
|
||||
size_t FrameTransformation::PackStandardOutput() {
|
||||
if (standard_output == nullptr)
|
||||
throw JFJochException(JFJochExceptionCategory::ArrayOutOfBounds, "Default stream output not initialized");
|
||||
void FrameTransformation::Pack() {
|
||||
|
||||
if (summation > 1) {
|
||||
PackSummation();
|
||||
@@ -114,7 +107,11 @@ size_t FrameTransformation::PackStandardOutput() {
|
||||
experiment.GetYPixelsNumFullImage(),
|
||||
INT16_MIN, INT16_MAX);
|
||||
}
|
||||
return compressor.Compress(standard_output, precompression_buffer.data(),
|
||||
|
||||
}
|
||||
|
||||
size_t FrameTransformation::SaveCompressedImage(void *output) {
|
||||
return compressor.Compress((char *) output, precompression_buffer.data(),
|
||||
experiment.GetPixelsNum(), pixel_depth);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user