10#include "common/widgets/image_view.h"
11#include "image/hue_saturation_json.h"
14#include "nlohmann/json.hpp"
56 std::string image_name =
"Unknown Image";
58 bool imgview_needs_update =
false;
59 bool has_second_image =
false;
61 ImageViewWidget image_view;
80 return has_second_image ? curr_image : image;
89 void setName(std::string name) { image_name = name; }
93 bool huesaturation_img =
false;
95 bool equalize_img =
false;
96 bool equalize_perchannel_img =
false;
97 bool white_balance_img =
false;
98 bool normalize_img =
false;
99 bool invert_img =
false;
100 bool median_blur_img =
false;
101 bool despeckle_img =
false;
102 bool rotate180_image =
false;
103 bool geocorrect_image =
false;
104 bool brightness_contrast_image =
false;
105 float brightness_contrast_brightness_image = 0.0;
106 float brightness_contrast_contrast_image = 0.0;
107 bool remove_background_img =
false;
110 bool image_calib_valid =
false;
112 bool image_proj_valid =
false;
114 std::vector<float> correct_fwd_lut;
115 std::vector<float> correct_rev_lut;
118 bool file_save_thread_running =
false;
119 std::thread file_save_thread;
126 std::function<void(
int x,
int y)> additionalMouseCallback = [](int, int) {};
128 bool wasMenuTriggered =
false;
138 void saveResult(std::string directory);
156 huesaturation_img =
false;
157 equalize_img =
false;
158 equalize_perchannel_img =
false;
159 white_balance_img =
false;
160 normalize_img =
false;
162 median_blur_img =
false;
163 despeckle_img =
false;
164 rotate180_image =
false;
165 geocorrect_image =
false;
166 brightness_contrast_image =
false;
167 brightness_contrast_brightness_image = 0.0;
168 brightness_contrast_contrast_image = 0.0;
169 remove_background_img =
false;
174 std::string getID() {
return "image_handler"; }
SatDump's handler base class.
Definition handler.h:32
void drawMenuBar()
Render explorer menu bar (in the left sidebar)
Definition image_handler.cpp:209
std::string getSaneName()
Return a sane image name for saving.
Definition image_handler.cpp:338
std::string getName()
Get this handler's readable name.
Definition image_handler.h:172
void drawMenu()
Render explorer menu left sidebar.
Definition image_handler.cpp:92
void setImage(image::Image &img)
set current image (raw). Does NOT reset settings
Definition image_handler.cpp:331
void resetConfig()
Optional, allows resetting the handler's configuration.
Definition image_handler.h:154
void setName(std::string name)
Set the image name.
Definition image_handler.h:89
void drawContents(ImVec2 win_size)
Render explorer contents (center/left)
Definition image_handler.cpp:216
nlohmann::json getConfig()
Optional, allows getting a configuration/state as JSON.
Definition image_handler.cpp:310
image::Image & getImage(bool current=true)
Get current image. Either processed or raw.
Definition image_handler.h:77
void drawSaveMenu()
Draws the same image Menu Item.
Definition image_handler.cpp:171
void setConfig(nlohmann::json p)
Optional, allows setting a configuration/state from JSON.
Definition image_handler.cpp:290
ImageHandler()
Constructor.
Definition image_handler.cpp:40
virtual void do_process()=0
Actual processing function to be implemented by the child class.
Extremely generic class to handle projections.
Definition projection.h:34
Hue/Saturation settings. Each array should be access using HueRange enum values.
Definition hue_saturation.h:31
Image Calibration Handler. This handles converting between raw pixel values and calibrated/physical u...
Definition meta.h:74