matrix of pixel-coordinate pairs for matched pixels.
+
+
+
distortions
+
list of distortion-factors to apply. Values must be numeric, on a scale from -100 <> +100
+Currently, only barrel-distortion can be applied.
+
+
+
image_dimensions
+
actual dimensions of the image, without cropping.
+
+
+
do_crop_image
+
boolean to check if the image was cropped.
+
+
+
x0
+
coordinates of the cropping top left corner. Necessary to correct coordinate-space for cropping.
+
+
+
y0
+
”
+
+
+
+
Value
+
sum of distortion-corrected pixels, rounded to the closest integer value.
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/search.json b/docs/search.json
index a34ee0a..549e56b 100644
--- a/docs/search.json
+++ b/docs/search.json
@@ -1 +1 @@
-[{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/general-user-manual.html","id":"general-structure","dir":"Articles","previous_headings":"","what":"General Structure","title":"General user manual for 'duflor.gui'","text":"figure 1, general overview GUI can seen. general, GUI split two regions. grey panel left side contains input-controls relevant setup configuration analysis. , steps must done get results located . Consequently, buttons/drop--menus/tables/controls right side app pertaining results. noted several controls won’t anything results computed1.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/general-user-manual.html","id":"steps-required-to-run-an-analysis-input-controls","dir":"Articles","previous_headings":"General Structure","what":"Steps required to run an analysis / Input Controls","title":"General user manual for 'duflor.gui'","text":"section deal detail controls grey panel. Generally, steps designed done order, top bottom2: Selecting folder containing input images.Note: folder must contain images intended evaluated, extends sub-folders. select folder foo analysed, image foo/bar.png evaluated. However, images foo/baz/bar.png foo/baz/another/ridiculous/nesting/plant.png also evaluated. Selecting type analysis performed3. Select GFA Leaf Area Analysis/Grünflächenanalyse, WFA intend perform Root Area Analysis/Wurzelflächenanalyse. 0≤H0≤3590 \\le H_0 \\le 359, 0≤H1≤3590 \\le H_1 \\le 359, H0 Post-Execution Steps","what":"Tab 2: Results - complete","title":"General user manual for 'duflor.gui'","text":"table tab renders results written file 1:11:1. bottom, may decide whether results saved .csv-file, .xlsx-file. Generally use .csv suggested smaller file-size; sometimes output data must processed afterwards, saving data .xlsx-file may advantageous.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/general-user-manual.html","id":"tab-3-results---inspect","dir":"Articles","previous_headings":"General Structure > Post-Execution Steps","what":"Tab 3: Results - inspect","title":"General user manual for 'duflor.gui'","text":"third tab lets inspect results based specific spectrum. table exists two simple reasons: “complete” table frequently crowded easily digestible, particularly lower-DPI screens. selecting spectrum file, results applying said spectrum selected file can viewed (see Figure 2). Optionally, contrast “hits” pixels can increased. can particularly helpful trying identify false positive pixels given spectrum (see figure 3)","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/general-user-manual.html","id":"tab-4-results---plots","dir":"Articles","previous_headings":"General Structure > Post-Execution Steps","what":"Tab 4: Results - plots","title":"General user manual for 'duflor.gui'","text":"fourth tab allows view basic plot different KPIs determined. Currently, following KPIs available: area_per_pixel: value denotes “much area”5 equivalent single pixel. resulting area6, number matching pixels, fraction matching pixels relative potential hits","code":""},{"path":[]},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/general-user-manual.html","id":"state-management-saving-and-restoring-application-configuration-to-and-from-files","dir":"Articles","previous_headings":"General Structure > Edge-cases / special controls","what":"State-Management: Saving and restoring application configuration to and from files","title":"General user manual for 'duflor.gui'","text":"bottom grey panel exists section called “Bookmarking”. allows user store current state app’s input data (configuration, chosen directory-path, relevant data) file, can loaded later time. general, two use-cases: Retaining restoring common configuration changes easier access. Restoring configurations induced errors, might debugged reproducible manner. details, see vignette(\"saving--restoring-application-states\", package = \"duflor.gui\").","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/general-user-manual.html","id":"tab-1-image-files","dir":"Articles","previous_headings":"General Structure > Edge-cases / special controls","what":"Tab 1: Image Files","title":"General user manual for 'duflor.gui'","text":"tab contains image files analysed. However, also allows view image. particularly useful verifying correctly cropped image, /correctly selected area identifier-dot (suggested extra steps). example application look like can seen figure 4.","code":""},{"path":[]},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/general-user-manual.html","id":"cropping-images","dir":"Articles","previous_headings":"Measures for optimising execution speed","what":"Cropping Images","title":"General user manual for 'duflor.gui'","text":"effective way increasing execution time reduce size data- set analysed. desired area selected described , can optionally reviewed (another) image pressing Render plant-button tab Image Files. -depth description can found vignette(\"image-cropping\", package = \"duflor.gui\").","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/general-user-manual.html","id":"parallelised-execution","dir":"Articles","previous_headings":"Measures for optimising execution speed","what":"Parallelised execution","title":"General user manual for 'duflor.gui'","text":"Based power system running app, one might consider parallelising evaluation images reduce computation time. However, effectiveness depends heavily resources available. -depth description can found vignette(\"parallelisation\", package = \"duflor.gui\").","code":""},{"path":[]},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/general-user-manual.html","id":"restricting-area-within-which-the-identifier-dot-is-quantified","dir":"Articles","previous_headings":"Measures for maximising accuracy","what":"Restricting area within which the identifier-dot is quantified","title":"General user manual for 'duflor.gui'","text":"Typically, largest error-source bad inconsistent determination identifier used calculate area extracted spectra. information counter issue, -depth description can found vignette(\"identifier-cropping\", package = \"duflor.gui\").","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/general-user-manual.html","id":"fine-tuning-hsv-boundaries","dir":"Articles","previous_headings":"Measures for maximising accuracy","what":"Fine-tuning HSV-boundaries","title":"General user manual for 'duflor.gui'","text":"Determining HSV-boundaries can arduous time-consuming process. recommended frequently via GUI, instead create small script calling relevant functions duflor-package . -depth guide details can found vignette(\"modifying-hsv-bounds\", package = \"duflor.gui\").","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/general-user-manual.html","id":"advanced-debugging","dir":"Articles","previous_headings":"","what":"(Advanced) Debugging","title":"General user manual for 'duflor.gui'","text":"Generally, app tries give reasonable warnings status-messages via small red/yellow/blue message boxes. fairly self-explanatory, pop author thought sensible necessary. app runs error, cases configuration required triggering said error preserved. info, see section “Saving states errors occur analysis” vignette(\"saving--restoring-application-states\", package = \"duflor.gui\").","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/general-user-manual.html","id":"development-modifications-issues","dir":"Articles","previous_headings":"","what":"Development, Modifications, Issues","title":"General user manual for 'duflor.gui'","text":"details raise new feature-requests, please refer vignette(\"raising-issues\", package = \"duflor.gui\").","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/general-user-manual.html","id":"reporting-issues","dir":"Articles","previous_headings":"Development, Modifications, Issues","what":"Reporting issues","title":"General user manual for 'duflor.gui'","text":"app, underlying code can reviewed minimal upfront work opening source-code GitHub - either manually downloading , cloning via git. either, navigate duflor- duflor.gui-repository. details see vignette(\"raising-issues\", package = \"duflor.gui\").","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/general-user-manual.html","id":"further-development","dir":"Articles","previous_headings":"Development, Modifications, Issues","what":"Further development","title":"General user manual for 'duflor.gui'","text":"free take either packages continue development , abiding licensing terms declared.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/identifier-cropping.html","id":"the-problem","dir":"Articles","previous_headings":"","what":"The problem","title":"Restricting area for quantification of the identifier-dot","text":"Analysing entire image bears risk introducing high error-rates determined number pixels “identifier” deviates. Given difference orders magnitude number “identifier”-pixels typical number pixels plant-related spectrum (e.g. “green plant area”), small deviation number detected “identifier”-pixels compared images drastically influence computed areas spectra. issue can observed figure :","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/identifier-cropping.html","id":"the-solution","dir":"Articles","previous_headings":"","what":"The solution","title":"Restricting area for quantification of the identifier-dot","text":"counteract , GUI allows limit range within matches identifier-spectrum considered “valid”. matches outside area ignored. select area, follow steps outlined . step corresponds number within figures 2 3: Select image inspect. may select one image within Image Files-Tab. Check check-box enable feature. expand previously-hidden panel. Next, press button Select area analyse launch window shown figure 3. Finally, left-click--drag area within identifier-dot resides. selection may contain anything, may size. let go, selection-GUI close, bounding coordinates inserted respective numeric input controls. might tempted make small possible. However, certainly advantageous minimise area much possible, certain buffer-zone kept. position identifier-dot might differ subtly across images, -strict selection might suddenly exclude pixels actually part identifier-dot.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/identifier-cropping.html","id":"results","dir":"Articles","previous_headings":"","what":"Results","title":"Restricting area for quantification of the identifier-dot","text":"difference step can make can observed tables 1 2. Note small example, effect preventive step entirely dependent upon image, thus hard predict. can images contain almost impurities, images severely polluted “invalid” hits. Table 1: Number pixels ‘identifier_dot’, well resulting area example-drought spectrum based given number matched pixels. case, qualified “identifier”-pixels used determine areas. Table 2: Restricting area identifier-dot lies changes given spectrum’s calculated area.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/image-cropping.html","id":"the-problem","dir":"Articles","previous_headings":"","what":"The problem","title":"Cropping the image for selective and faster analysis","text":"taking images pot photo-box, frequently regions within image relevance results. Figure 1 displays typical photo analysed. Please ignore rectangle around pink identifier-dot, well information printed top-left corner now. Large regions left, right top plant pink dot completely irrelevant analysis. pixels can happily ignored. fact, excluding result unnecessary iterations analysis, can significantly increase time required analysis complete. time-loss increases linearly number analysed images.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/image-cropping.html","id":"the-solution","dir":"Articles","previous_headings":"","what":"The solution","title":"Cropping the image for selective and faster analysis","text":"counteract , GUI allows select rectangular sub-set full image analysed instead. select area, follow steps outlined . step corresponds number within figures 2 3: Select image inspect. may select one image within Image Files-Tab Check check-box enable feature. expand previously-hidden panel. Next, press button Select area analyse launch window shown figure 3. Finally, left-click--drag area within plant identifier-dot reside. selection may contain anything else, may size. let go, selection-GUI close, bounding coordinates inserted respective numeric input controls.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/modifying-hsv-bounds.html","id":"introduction","dir":"Articles","previous_headings":"","what":"Introduction","title":"Fine-tuning HSV-boundaries","text":"default values HSV-spectra provided via shiny-application set back-end-package “duflor”, frontend-package “duflor.gui”. two methods altering HSV-bounds use analysis. first one can performed within GUI, take effect current session. Restarting GUI R-session purge changes issued way1. second one can used change values app starts, however requires additional setup side user must invoked specific manner time.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/modifying-hsv-bounds.html","id":"scales-required-for-the-different-components-of-an-hsv-triplet","dir":"Articles","previous_headings":"Introduction","what":"Scales required for the different components of an HSV-triplet","title":"Fine-tuning HSV-boundaries","text":"important understand format limitations within values respective Hue-, Saturation- Value-Components must provided. Input-values must provided HSV-color space accordance following rules: 0≤H0≤3590 \\le H_0 \\le 359, 0≤H1≤3590 \\le H_1 \\le 359, H0 Limitations","what":"back-ends: socket vs fork","title":"Parallelised computing as a method for increased performance","text":"-called socket-back-end can run Windows, MacOS Linux. works separately exporting required environment (variables, functions, hidden objects, loaded packages, etc.) master-process every designated worker, work secluded . worker finishes workload, must signal back master-process finished. workers done, results can collected master, combined collective output format, used “normal” variable . major disadvantage significant overhead accumulating back--forth, thus socket-cluster slow (compared fork-back-end described ). reasons described , socket-back-end also heavily increases RAM-usage (linearly number workers). hand, fork-back-end runs significantly faster. Instead duplicating data providing unique copy worker-process, worker gains access master’s environment. consequence, significant overhead duplicating environment can ignored, workers instead just return respective results master process. Unfortunately, back-end available windows. additional side note, machine-clusters use fork-back-ends.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/parallelisation.html","id":"suggestions","dir":"Articles","previous_headings":"How a parallelised setup can help","what":"Suggestions","title":"Parallelised computing as a method for increased performance","text":"setting parallel back-end via app, consider specifications machine described : might tempted create parallel back.end using available cores system. . Simply don’t. Assigning available cores cluster leave core freely-available programs machine job. can certainly cause havoc. Thus, leave least single core available. setting parallelisation via shiny-GUI, possible use cores available. limited amount available RAM, comes point adding additional workers deteriorate performance entire back-end. machine e.g. 8 GB available RAM, 2 workers might work efficiently, 3 might work just fast sequential back-end2. clear guide determine tipping-point. general, cluster comes close consuming available system RAM, adding workers likely deteriorate overall performance, slightly reducing number workers might even beneficial.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/raising-issues.html","id":"general-etiquette-and-different-types-of-issues","dir":"Articles","previous_headings":"","what":"General etiquette and different types of ‘issues’","title":"How to report issues, raise suggestions and feedback","text":"Although conglomerated name “issues”, generally reports differentiated two categories: Bug Reports Feature Requests/Suggestions","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/raising-issues.html","id":"bug-reports","dir":"Articles","previous_headings":"General etiquette and different types of ‘issues’","what":"Bug Reports","title":"How to report issues, raise suggestions and feedback","text":"Bug reports… somewhat obvious first. However, great difference constitutes good, bad, useless bug-report. useful, bare-minimum amount information must provided, including package run source version-control via git local machine (instead installed package within R), SHA currently checked-commit must provided. Detailed, clear instructions required reproduce issue. example-data set exhibits problem. case duflor.gui duflor, often include example-images. Information system’s specifications (OS, hardware configuration, etc. pp.) R-Version use Notes warnings/errors emitted console /encountering bug. generated, error_state.rds-file. file generated errors occur certain sections code, . bundles state app’s data structure point error occurred, including configuration. However, include raw image-files input, must supplied separately. details, see vignette(\"saving--restoring-application-states\", package = \"duflor.gui\"). reporting bugs, heavily suggested supply file. information available, easier becomes identify actual issue.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/raising-issues.html","id":"feature-requests","dir":"Articles","previous_headings":"General etiquette and different types of ‘issues’","what":"Feature Requests","title":"How to report issues, raise suggestions and feedback","text":"keep development efficient reasonable, certain number requirements reporting problems requesting features. feature request clearly define additional feature implemented. bug-reports, information provided, easier ’s viability ease implementation can assessed. clearly describe implemented, well (broad strokes ) implemented.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/saving-and-restoring-application-states.html","id":"introduction","dir":"Articles","previous_headings":"","what":"Introduction","title":"Saving and restoring application-states","text":"app ability store configuration-state permanently across sessions, can restored later state - different machine.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/saving-and-restoring-application-states.html","id":"saving-and-restoring-common-states","dir":"Articles","previous_headings":"","what":"Saving and restoring common states","title":"Saving and restoring application-states","text":"common use-case user save restore config-changes across sessions. Let’s build hypothetical scenario, perform experiment set experimental groups 10 weeks. week, pots across groups imaged, images analysed determine development leaf-area time. Let’s assume certain settings changed standard values, instance: HSV-boundaries specific spectrum must analysed tweaked declared area identifier-dot changed default value Recreating modifications every time set images must analysed experimental setup enormous potential inducing errors along way. counteract , user may save current configuration input-controls settings file (see step () figure 1. changes can later reloaded file (step (B) figure 1. Note following limitations apply: --analysed image-files stored. Instead, directory-path selected folder . However, images moved application-state saved, images longer found. Options modified via GUI stored. Assume load configuration X, perform analysis , change HSV-bounds specific spectrum, finally save state without re-executing analysis. result, HSV-spectra stored state-file differ used analysis. user load state execute , new results identical previous version. “state” technically stores general DATA-object also contains results-data (computed state-file generated), data rendered state loaded. DATA-object essentially stored internal purposes, retain results-data across sessions.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/saving-and-restoring-application-states.html","id":"saving-states-when-errors-occur-during-analysis","dir":"Articles","previous_headings":"","what":"Saving states when errors occur during analysis","title":"Saving and restoring application-states","text":"Additionally process manually saving application-state, application generates state-files error occurs execution certain subroutines: input$submit_selected_spectra: callback issues analysis images, loading images generation results. subroutine responsible computing analyses, steps required obtain results-table figures branch . input$render_selected_mask: callback responsible inspecting mask spectrum-matches respective image-file results computed. input$save_results: callback responsible saving results-table either .xlsx-.csv-file. input$save_visualisation_plot: callback responsible saving selected KPI-plot tab Results - plots. input$render_plant: callback responsible viewing input image-file. reactive filtered_plot: reactive generates KPI-plots tab Results - plots. reactive filtered_results: reactive generates filtered results-table tab Results - inspect. Error-states saved relative selected input-folder containing input-images. states supposed used manually, instead generated issues can found easier. issues reported, state-files supplied available. application installed built package, internal functions logic-flow become somewhat harder debug. Thus, recommended load application source-code package-project via devtools inspecting bugs. Error-states deleted automatically, can accumulate. sure remove outlived usefulness.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/saving-and-restoring-application-states.html","id":"limitations","dir":"Articles","previous_headings":"","what":"Limitations","title":"Saving and restoring application-states","text":"couple limitations system: one state can loaded one time. may leverage system save restore changed HSV-spectra, thus generate state-file modified spectra. may additionally generate different state-file predefined set allocated cores parallelisation. Now, two different state-files, loading succession, latter overwrite changes made former one. First loading “parallelisation”-state, loading “spectra”-state discard changes made “parallelisation”-state.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Claudius Appel. Author, maintainer.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Appel C (2024). duflor.gui: Frontend duflor-package. R package version 1.0.8, https://Claudius-Appel.github.io/duflor.gui/.","code":"@Manual{, title = {duflor.gui: Frontend for duflor-package}, author = {Claudius Appel}, year = {2024}, note = {R package version 1.0.8}, url = {https://Claudius-Appel.github.io/duflor.gui/}, }"},{"path":"https://Claudius-Appel.github.io/duflor.gui/index.html","id":"duflorgui","dir":"","previous_headings":"","what":"Frontend for duflor-package","title":"Frontend for duflor-package","text":"duflor.gui-package contains shiny-application built use duflor-package.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/index.html","id":"installation---from-within-rstudio","dir":"","previous_headings":"","what":"Installation - from within RStudio","title":"Frontend for duflor-package","text":"package requires installation duflor-package, implements back-end code analysis-pipelines application.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/index.html","id":"prerequisites","dir":"","previous_headings":"Installation - from within RStudio","what":"Prerequisites","title":"Frontend for duflor-package","text":"application quite complex, relies certain number packages work. package renv can help managing reproducible package environment project. additional advantage, also prevents packages system-library updated installing package. proper documentation information use-cases, refer “https://rstudio.github.io/renv/index.html”.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/index.html","id":"setup-r-project-with-renv","dir":"","previous_headings":"Installation - from within RStudio > Prerequisites","what":"Setup r-project with renv","title":"Frontend for duflor-package","text":"set stand-alone R-project renv, easiest way R-Studio: Go File > New Project. Select New Directory. Select New Project project-type1. Give distinct name project, e.g. duflor.gui_installed2. Choose location R-project. Make sure check-box Use renv project checked.3 Make sure check-box Open new session checked. Create project. now , project can opened within R-Studio via project-selection drop--menu top-right corner RStudio-application. continuing, open project .","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/index.html","id":"install-devtools","dir":"","previous_headings":"Installation - from within RStudio > Prerequisites","what":"Install devtools","title":"Frontend for duflor-package","text":"First , make sure followed steps outlined “[Setup r-project renv]”, RStudio currently created project. Installing package GitHub requires installation R-package devtools. devtools can used compile source-packages installed binaries. asked proceed, make sure installation-path R-project created: created R-project renv , path look something like correct, can go ahead answer prompt Y. case, install devtools via RStudio-GUI: Open packages-panel. Search select devtools. “Install library”, make sure path selected similar example outlined . words, make sure install library containing string R/cache/R/renv/sandbox. installed devtools, go next step.","code":"install.packages(\"devtools\") C:/Users/User_Main/Desktop/TempTemporal/test_duflorgui_install C:/Users/User_Main/Desktop/TempTemporal/test_duflorgui_install/renv/library/R-X.Y/...."},{"path":"https://Claudius-Appel.github.io/duflor.gui/index.html","id":"install-r-build-toolchain","dir":"","previous_headings":"Installation - from within RStudio > Prerequisites","what":"Install R-build-toolchain","title":"Frontend for duflor-package","text":"underlying package duflor contains C++ code. distributed source-code, users require appropriate R-build-toolchain respective operating system. information setup-instructions, refer “https://r-pkgs.org/setup.html#setup-tools”. windows, R-package installr may used check Rtools already installed, whether found R. Additionally, notify user new R-update available (major minor versions , ignores patch versions):","code":"install.packages(\"installr\") # once pkgbuild is installed, run: installr::install.Rtools(check = T,check_r_update = T,GUI = T)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/index.html","id":"installation-steps","dir":"","previous_headings":"Installation - from within RStudio","what":"Installation-steps","title":"Frontend for duflor-package","text":"duflor- duflor.gui-packages must installed respective GitHub-repositories. can install development release versions duflor.gui like : installing devtools, make sure renv-library selected installing package.","code":"# release: devtools::install_github(\"https://github.com/Claudius-Appel/duflor.gui@master\") # development version: devtools::install_github(\"https://github.com/Claudius-Appel/duflor.gui@dev\")"},{"path":"https://Claudius-Appel.github.io/duflor.gui/index.html","id":"installing-help-vignettes","dir":"","previous_headings":"Installation - from within RStudio","what":"Installing help-vignettes","title":"Frontend for duflor-package","text":"application documented detail via pkgdown, site can reached github-repository. articles outlined site may also viewed vignettes within RStudio. , must explicitly declare vignettes installed: Vignettes rendered documents discussing specific topics within package. Installing recommended, required utilizing package .","code":"devtools::install_github(\"https://github.com/Claudius-Appel/duflor.gui@master\" ,build_vignettes = T) devtools::install_github(\"https://github.com/Claudius-Appel/duflor.gui@dev\" ,build_vignettes = T)"},{"path":[]},{"path":"https://Claudius-Appel.github.io/duflor.gui/index.html","id":"prerequisites-1","dir":"","previous_headings":"Installation - from the command-line","what":"Prerequisites","title":"Frontend for duflor-package","text":"case, check make accessible command-line respective system underlying package duflor contains C++ code. distributed source-code, users require appropriate R-build-toolchain respective operating system. information setup-instructions, refer “https://r-pkgs.org/setup.html#setup-tools”.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/index.html","id":"cli-installation-steps","dir":"","previous_headings":"Installation - from the command-line","what":"CLI-Installation-steps","title":"Frontend for duflor-package","text":"install application, follow steps : open terminal, move location want install program create folder place application , e.g. mkdir duflor_app move folder via cd duflor_app launch R executing R executing 1+1 now successfully return [1] 2 , install executing install.packages(\"renv\"), follow instructions installing /potential dependencies execute renv::init() repeat step 6) package devtools release-version: devtools::install_github(\"https://github.com/Claudius-Appel/duflor.gui@master\") development-version: devtools::install_github(\"https://github.com/Claudius-Appel/duflor.gui@dev\") follow instructions installing /potential dependencies , GUI open default-browser, application can used now ","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/index.html","id":"installing-help-vignettes-1","dir":"","previous_headings":"Installation - from the command-line","what":"Installing help-vignettes","title":"Frontend for duflor-package","text":"application documented detail via pkgdown, site can reached github-repository. articles outlined site may also viewed vignettes within RStudio. , must explicitly declare vignettes installed performing step 9 “CLI-Installation-steps”: Vignettes rendered documents discussing specific topics within package. Installing recommended, required utilizing package .","code":"devtools::install_github(\"https://github.com/Claudius-Appel/duflor.gui@master\",build_vignettes = T) devtools::install_github(\"https://github.com/Claudius-Appel/duflor.gui@dev\",build_vignettes = T)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/index.html","id":"running-the-app-from-the-command-line","dir":"","previous_headings":"","what":"Running the app from the command-line","title":"Frontend for duflor-package","text":"installation, application can launched described : cd folder installed application , e.g. cd duflor_app launch R via R launch app via duflor.gui::duflor_gui()","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/index.html","id":"running-the-app-from-within-rstudio","dir":"","previous_headings":"","what":"Running the app from within RStudio","title":"Frontend for duflor-package","text":"Follow installation-steps outlined “Installation - within RStudio” Open project via drop--menu top-right corner RStudio-application. Launch app executing duflor.gui::duflor_gui() console.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/index.html","id":"parallelisation-requires-installation-of-package-not-just-loading","dir":"","previous_headings":"","what":"Parallelisation requires installation of package, not just loading","title":"Frontend for duflor-package","text":"order shiny application able run analysis parallel, packages duflor duflor.gui must installed. package developed locally, executing devtools::load_all() sufficient. counteract , make sure packages actually installed , show listed packages.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"MIT License","title":"MIT License","text":"Copyright (c) 2024 Claudius Appel Permission hereby granted, free charge, person obtaining copy software associated documentation files (“Software”), deal Software without restriction, including without limitation rights use, copy, modify, merge, publish, distribute, sublicense, /sell copies Software, permit persons Software furnished , subject following conditions: copyright notice permission notice shall included copies substantial portions Software. SOFTWARE PROVIDED “”, WITHOUT WARRANTY KIND, EXPRESS IMPLIED, INCLUDING LIMITED WARRANTIES MERCHANTABILITY, FITNESS PARTICULAR PURPOSE NONINFRINGEMENT. EVENT SHALL AUTHORS COPYRIGHT HOLDERS LIABLE CLAIM, DAMAGES LIABILITY, WHETHER ACTION CONTRACT, TORT OTHERWISE, ARISING , CONNECTION SOFTWARE USE DEALINGS SOFTWARE.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/convert_pixels_to_area_gui.html","id":null,"dir":"Reference","previous_headings":"","what":"convert pixel counts to an area based on the known area of an identifier-dot. — convert_pixels_to_area_gui","title":"convert pixel counts to an area based on the known area of an identifier-dot. — convert_pixels_to_area_gui","text":"convert pixel counts area based known area identifier-dot.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/convert_pixels_to_area_gui.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"convert pixel counts to an area based on the known area of an identifier-dot. — convert_pixels_to_area_gui","text":"","code":"convert_pixels_to_area_gui(pixel.counts, identifier_area)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/convert_pixels_to_area_gui.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"convert pixel counts to an area based on the known area of an identifier-dot. — convert_pixels_to_area_gui","text":"pixel.counts list containing following pixel-counts: \"bex_green_HSV\" \"bex_drought_HSV\" \"bex_complete_HSV\" \"bex_identifier_HSV\" pixel-count identifier must present, whereas others optional. calculated area internally unit-less. However, default value duflor.default_identifier_area 0.503 [cm^2], areas computed function also [cm^2]. assumed area identifier can modified excuting options(duflor.default_identifier_area = ) prior calling function identifier_area declared size identifier area, [cm^2]","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/convert_pixels_to_area_gui.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"convert pixel counts to an area based on the known area of an identifier-dot. — convert_pixels_to_area_gui","text":"list computed areas key listed pixel.counts. Additionally, two meta-values returned well: identifier-area used calculating area (whichever value set option duflor.default_identifier_area) area singe pixel values [cm^2]","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/convert_pixels_to_area_gui.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"convert pixel counts to an area based on the known area of an identifier-dot. — convert_pixels_to_area_gui","text":"restructured version duflor::convert_pixels_to_area, suitable needs specific app.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/dev_key_handler.html","id":null,"dir":"Reference","previous_headings":"","what":"handles the setting and unsetting of debug-keys — dev_key_handler","title":"handles the setting and unsetting of debug-keys — dev_key_handler","text":"Keys begin 2 - considered boolean flags, must provided format --key=, boolean following values allowed: T/TRUE/1 F/FALSE/0","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/dev_key_handler.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"handles the setting and unsetting of debug-keys — dev_key_handler","text":"","code":"dev_key_handler(input, DATA, DEBUGKEYS, session, use_logical_cores)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/dev_key_handler.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"handles the setting and unsetting of debug-keys — dev_key_handler","text":"input respective shiny-component DATA respective shiny-component DEBUGKEYS respective shiny-component session shiny session-object use_logical_cores internal flag","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/dev_key_handler.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"handles the setting and unsetting of debug-keys — dev_key_handler","text":"modified DEBUGKEYS?","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/dev_key_handler.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"handles the setting and unsetting of debug-keys — dev_key_handler","text":"Keys begin 3 - expecting non-boolean, custom input, differ based respective key.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/dot-main_args.html","id":null,"dir":"Reference","previous_headings":"","what":"pseudo-function to define default parameter documentation — .main_args","title":"pseudo-function to define default parameter documentation — .main_args","text":"pseudo-function define default parameter documentation","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/dot-main_args.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"pseudo-function to define default parameter documentation — .main_args","text":"","code":".main_args(input, output, DATA, FLAGS, DEBUGKEYS, session, volumes)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/dot-main_args.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"pseudo-function to define default parameter documentation — .main_args","text":"input respective shiny-component output respective shiny-component DATA respective shiny-component FLAGS respective shiny-component DEBUGKEYS respective shiny-component session shiny session-object volumes volumes present machine","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/dot-main_args.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"pseudo-function to define default parameter documentation — .main_args","text":"nothing. function literally nothing","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/duflor_gui.html","id":null,"dir":"Reference","previous_headings":"","what":"Start the duflor-gui via this function — duflor_gui","title":"Start the duflor-gui via this function — duflor_gui","text":"Start duflor-gui via function","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/duflor_gui.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Start the duflor-gui via this function — duflor_gui","text":"","code":"duflor_gui()"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/duflor_gui.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Start the duflor-gui via this function — duflor_gui","text":".","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/execute_analysis.html","id":null,"dir":"Reference","previous_headings":"","what":"wrapper-function facilitating single- and multi-image analysis. — execute_analysis","title":"wrapper-function facilitating single- and multi-image analysis. — execute_analysis","text":"wrapper-function facilitating single- multi-image analysis.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/execute_analysis.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"wrapper-function facilitating single- and multi-image analysis. — execute_analysis","text":"","code":"execute_analysis(input, DATA, DEBUGKEYS, FLAGS)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/execute_analysis.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"wrapper-function facilitating single- and multi-image analysis. — execute_analysis","text":"input respective shiny-component DATA respective shiny-component DEBUGKEYS respective shiny-component FLAGS respective shiny-component","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/execute_analysis.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"wrapper-function facilitating single- and multi-image analysis. — execute_analysis","text":"list components results: results-data passed-execute_multiple() execute_single()","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/execute_multiple.html","id":null,"dir":"Reference","previous_headings":"","what":"execute analysis on multiple images, and return their results — execute_multiple","title":"execute analysis on multiple images, and return their results — execute_multiple","text":"single-image analysis, see execute_single()","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/execute_multiple.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"execute analysis on multiple images, and return their results — execute_multiple","text":"","code":"execute_multiple(files, input, DATA, DEBUGKEYS, FLAGS)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/execute_multiple.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"execute analysis on multiple images, and return their results — execute_multiple","text":"files files analyse input respective shiny-component DATA respective shiny-component DEBUGKEYS respective shiny-component FLAGS respective shiny-component","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/execute_multiple.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"execute analysis on multiple images, and return their results — execute_multiple","text":"results_object, see update_resultsObject()","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/execute_single.html","id":null,"dir":"Reference","previous_headings":"","what":"execute analysis on a single image, and return its results — execute_single","title":"execute analysis on a single image, and return its results — execute_single","text":"single-image analysis, see execute_multiple()","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/execute_single.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"execute analysis on a single image, and return its results — execute_single","text":"","code":"execute_single(file, input, DATA, DEBUGKEYS, FLAGS)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/execute_single.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"execute analysis on a single image, and return its results — execute_single","text":"file file analyse input respective shiny-component DATA respective shiny-component DEBUGKEYS respective shiny-component FLAGS respective shiny-component","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/execute_single.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"execute analysis on a single image, and return its results — execute_single","text":"results_object, see update_resultsObject()","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/get_group.html","id":null,"dir":"Reference","previous_headings":"","what":"trims numbers from groups from character-vector — get_group","title":"trims numbers from groups from character-vector — get_group","text":"trims numbers groups character-vector","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/get_group.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"trims numbers from groups from character-vector — get_group","text":"","code":"get_group(names)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/get_group.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"trims numbers from groups from character-vector — get_group","text":"names .","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/get_group.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"trims numbers from groups from character-vector — get_group","text":".","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/get_image_dimensions.html","id":null,"dir":"Reference","previous_headings":"","what":"retrieves image dimension via call to system interface — get_image_dimensions","title":"retrieves image dimension via call to system interface — get_image_dimensions","text":"retrieves image dimension via call system interface","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/get_image_dimensions.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"retrieves image dimension via call to system interface — get_image_dimensions","text":"","code":"get_image_dimensions(path)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/get_image_dimensions.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"retrieves image dimension via call to system interface — get_image_dimensions","text":"path path file measure","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/get_image_dimensions.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"retrieves image dimension via call to system interface — get_image_dimensions","text":"list(width=dbl,height=dbl)","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/get_KPI_plot.html","id":null,"dir":"Reference","previous_headings":"","what":"generate a ggplot for a given KPI — get_KPI_plot","title":"generate a ggplot for a given KPI — get_KPI_plot","text":"Function generates ggplot-object base selected choices DDLs","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/get_KPI_plot.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"generate a ggplot for a given KPI — get_KPI_plot","text":"","code":"get_KPI_plot(input, DATA)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/get_KPI_plot.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"generate a ggplot for a given KPI — get_KPI_plot","text":"input respective shiny-component DATA respective shiny-component","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/get_KPI_plot.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"generate a ggplot for a given KPI — get_KPI_plot","text":"ggplot-object respective KPI","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/key_handle_cores.html","id":null,"dir":"Reference","previous_headings":"","what":"internal function handling dev-key ---set.cores=XX — key_handle_cores","title":"internal function handling dev-key ---set.cores=XX — key_handle_cores","text":"internal function handling dev-key ---set.cores=XX","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/key_handle_cores.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"internal function handling dev-key ---set.cores=XX — key_handle_cores","text":"","code":"key_handle_cores(value, DATA, use_logical_cores, session)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/key_handle_cores.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"internal function handling dev-key ---set.cores=XX — key_handle_cores","text":"value number cores assign DATA respective shiny-component use_logical_cores whether use logical cores session shiny session-object","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/limit_identifier_coordinates.html","id":null,"dir":"Reference","previous_headings":"","what":"restrict area in which identifier-pixels are considered ","title":"restrict area in which identifier-pixels are considered ","text":"function applied identifier-range. intention exclude random pixels definitely attributed identifier-data.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/limit_identifier_coordinates.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"restrict area in which identifier-pixels are considered ","text":"","code":"limit_identifier_coordinates( spectrums_object, image_dimensions, identifiersearch_x0, identifiersearch_x1, identifiersearch_y0, identifiersearch_y1 )"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/limit_identifier_coordinates.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"restrict area in which identifier-pixels are considered ","text":"spectrums_object return object extract_pixels_HSV() image_dimensions dimensions image identifiersearch_x0 respective coordinate search bounding rectangle identifiersearch_x1 respective coordinate search bounding rectangle identifiersearch_y0 respective coordinate search bounding rectangle identifiersearch_y1 respective coordinate search bounding rectangle","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/limit_identifier_coordinates.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"restrict area in which identifier-pixels are considered ","text":"modified spectrums_object","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/limit_to_range.html","id":null,"dir":"Reference","previous_headings":"","what":"replace values outside of boundaries with respective boundary — limit_to_range","title":"replace values outside of boundaries with respective boundary — limit_to_range","text":"function limits values lie outside [replace_lower, replace_upper]. Values fall outside range modified.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/limit_to_range.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"replace values outside of boundaries with respective boundary — limit_to_range","text":"","code":"limit_to_range(x, replace_lower, replace_upper)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/limit_to_range.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"replace values outside of boundaries with respective boundary — limit_to_range","text":"x vector normalise replace_lower value insert place elements value bound. replace_upper see replace_lower","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/limit_to_range.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"replace values outside of boundaries with respective boundary — limit_to_range","text":"vector, normalised range [replace_lower, replace_upper]","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/limit_to_range.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"replace values outside of boundaries with respective boundary — limit_to_range","text":"","code":"result <- duflor.gui:::limit_to_range(c(0,100,255),0,255) result2 <- duflor.gui:::limit_to_range(c(0,100,256),0,255) print(result) #> [1] 0 100 255 print(result2) #> [1] 0 100 255"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/open_parallelPanel_event.html","id":null,"dir":"Reference","previous_headings":"","what":"internal callback function for the checkbox opening the parallelisation-panel — open_parallelPanel_event","title":"internal callback function for the checkbox opening the parallelisation-panel — open_parallelPanel_event","text":"internal callback function checkbox opening parallelisation-panel","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/open_parallelPanel_event.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"internal callback function for the checkbox opening the parallelisation-panel — open_parallelPanel_event","text":"","code":"open_parallelPanel_event( input, DATA, FLAGS, use_logical_cores, session, STARTUP, default_init_cores = 2 )"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/open_parallelPanel_event.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"internal callback function for the checkbox opening the parallelisation-panel — open_parallelPanel_event","text":"input respective shiny-component DATA respective shiny-component FLAGS respective shiny-component use_logical_cores internal flag session shiny session-object STARTUP respective shiny-component","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/prepare_resultsObject.html","id":null,"dir":"Reference","previous_headings":"","what":"prepare the dataframe-object into which all results are to be merged. — prepare_resultsObject","title":"prepare the dataframe-object into which all results are to be merged. — prepare_resultsObject","text":"results requires fields full_path image_date image_name processed_width processed_height crop_x0/1\\* crop_y0/1\\* identifiercrop_x0/1\\* identifiercrop_y0/1\\* names(DATA$spectrums$lower_bound): %spectrum%_count img.fraction (maybe valuable?) %spectrum%_area (results duflor::convert_pixels_to_area()) %spectrum%_fraction (defined %spectrum%_count/(sum(_count)) distortion-correction enabled, de-distorted instances values recorded well. Otherwhise, set NA.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/prepare_resultsObject.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"prepare the dataframe-object into which all results are to be merged. — prepare_resultsObject","text":"","code":"prepare_resultsObject(input, DATA, DEBUGKEYS)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/prepare_resultsObject.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"prepare the dataframe-object into which all results are to be merged. — prepare_resultsObject","text":"input respective shiny-component DATA respective shiny-component DEBUGKEYS respective shiny-component","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/prepare_resultsObject.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"prepare the dataframe-object into which all results are to be merged. — prepare_resultsObject","text":"results-csv-framework.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/prepare_resultsObject.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"prepare the dataframe-object into which all results are to be merged. — prepare_resultsObject","text":"results-fields crop_x0, crop_x1,... encode x- y-coordinates selected cropping (image-crops identifier-crops.) Due imager::grabRect() functions, origin coordinate-system top-left corner image.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/render_selected_mask.html","id":null,"dir":"Reference","previous_headings":"","what":"render mask based on input data — render_selected_mask","title":"render mask based on input data — render_selected_mask","text":"render mask based input data","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/render_selected_mask.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"render mask based on input data — render_selected_mask","text":"","code":"render_selected_mask(input, DATA, FLAGS)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/render_selected_mask.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"render mask based on input data — render_selected_mask","text":"input respective shiny-component DATA respective shiny-component FLAGS respective shiny-component","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/restore_state.html","id":null,"dir":"Reference","previous_headings":"","what":"restore application state from stored .RDS-file — restore_state","title":"restore application state from stored .RDS-file — restore_state","text":"function responsible ","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/restore_state.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"restore application state from stored .RDS-file — restore_state","text":"","code":"restore_state( input, output, DATA, FLAGS, DEBUGKEYS, session, volumes, state_file )"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/restore_state.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"restore application state from stored .RDS-file — restore_state","text":"input respective shiny-component output respective shiny-component DATA respective shiny-component FLAGS respective shiny-component DEBUGKEYS respective shiny-component session shiny session-object volumes volumes present machine state_file filepath --loaded state_file","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/restore_state.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"restore application state from stored .RDS-file — restore_state","text":"path loaded file.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/save_error_state.html","id":null,"dir":"Reference","previous_headings":"","what":"Handle saving application-state to file — save_error_state","title":"Handle saving application-state to file — save_error_state","text":"assumes input$save_state properly formatted, returned shinyFiles::shinyFileSave() assumes volumes return-value shinyFiles::getVolumes()","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/save_error_state.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Handle saving application-state to file — save_error_state","text":"","code":"save_error_state( input, DATA, DEBUGKEYS, FLAGS, volumes, error, errordir_path = NA, erroneous_callback = \"\" )"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/save_error_state.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Handle saving application-state to file — save_error_state","text":"input respective shiny-component DATA respective shiny-component DEBUGKEYS respective shiny-component FLAGS respective shiny-component volumes volumes present machine error error-object errordir_path directory write error-replication state ","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/save_error_state.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Handle saving application-state to file — save_error_state","text":"path error-state file may used load error-triggering settings.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/save_state.html","id":null,"dir":"Reference","previous_headings":"","what":"Handle saving application-state to file — save_state","title":"Handle saving application-state to file — save_state","text":"assumes input$save_state properly formatted, returned shinyFiles::shinyFileSave() assumes volumes return-value shinyFiles::getVolumes()","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/save_state.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Handle saving application-state to file — save_state","text":"","code":"save_state(input, DATA, DEBUGKEYS, FLAGS, volumes)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/save_state.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Handle saving application-state to file — save_state","text":"input respective shiny-component DATA respective shiny-component DEBUGKEYS respective shiny-component FLAGS respective shiny-component volumes volumes present machine","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/save_state.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Handle saving application-state to file — save_state","text":"path saved state-file","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/select_spectra_gui_comp.html","id":null,"dir":"Reference","previous_headings":"","what":"generate and call a modal-dialogue which lets you select which spectrums to analyse. — select_spectra_gui_comp","title":"generate and call a modal-dialogue which lets you select which spectrums to analyse. — select_spectra_gui_comp","text":"Additionally, queries component radio_analysis_type preselect common results different types analyses","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/select_spectra_gui_comp.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"generate and call a modal-dialogue which lets you select which spectrums to analyse. — select_spectra_gui_comp","text":"","code":"select_spectra_gui_comp(input)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/select_spectra_gui_comp.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"generate and call a modal-dialogue which lets you select which spectrums to analyse. — select_spectra_gui_comp","text":"input respective shiny-component","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/select_spectra_gui_comp.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"generate and call a modal-dialogue which lets you select which spectrums to analyse. — select_spectra_gui_comp","text":".","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/setup_parallel.html","id":null,"dir":"Reference","previous_headings":"","what":"setup parallel backend for a given number of cores. — setup_parallel","title":"setup parallel backend for a given number of cores. — setup_parallel","text":"setup parallel backend given number cores.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/setup_parallel.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"setup parallel backend for a given number of cores. — setup_parallel","text":"","code":"setup_parallel(used_cores, cluster_type)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/setup_parallel.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"setup parallel backend for a given number of cores. — setup_parallel","text":"used_cores number cores designated cluster cluster_type either PSOCK FORK. Generally FORK recommended PSOCK, however available systems. See note ","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/setup_parallel.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"setup parallel backend for a given number of cores. — setup_parallel","text":".","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/setup_parallel.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"setup parallel backend for a given number of cores. — setup_parallel","text":"Windows, PSOCK-cluster type available.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/show_infringing_spectrum_elements_gui_comp.html","id":null,"dir":"Reference","previous_headings":"","what":"generate and call a modal-dialogue which displays the prospective changes in HSV-spectrums — show_infringing_spectrum_elements_gui_comp","title":"generate and call a modal-dialogue which displays the prospective changes in HSV-spectrums — show_infringing_spectrum_elements_gui_comp","text":"Additionally, queries whether applied, reset previous value.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/show_infringing_spectrum_elements_gui_comp.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"generate and call a modal-dialogue which displays the prospective changes in HSV-spectrums — show_infringing_spectrum_elements_gui_comp","text":"","code":"show_infringing_spectrum_elements_gui_comp(input, DATA, changes)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/show_infringing_spectrum_elements_gui_comp.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"generate and call a modal-dialogue which displays the prospective changes in HSV-spectrums — show_infringing_spectrum_elements_gui_comp","text":"input respective shiny-component DATA respective shiny-component changes results-object validate_custom_HSV_values()","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/show_infringing_spectrum_elements_gui_comp.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"generate and call a modal-dialogue which displays the prospective changes in HSV-spectrums — show_infringing_spectrum_elements_gui_comp","text":".","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/shutdown_parallel.html","id":null,"dir":"Reference","previous_headings":"","what":"shut down existing parallel cluster — shutdown_parallel","title":"shut down existing parallel cluster — shutdown_parallel","text":"shut existing parallel cluster","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/shutdown_parallel.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"shut down existing parallel cluster — shutdown_parallel","text":"","code":"shutdown_parallel()"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/store_KPI_plot_to_file.html","id":null,"dir":"Reference","previous_headings":"","what":"save KPI-plot to file — store_KPI_plot_to_file","title":"save KPI-plot to file — store_KPI_plot_to_file","text":"save KPI-plot file","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/store_KPI_plot_to_file.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"save KPI-plot to file — store_KPI_plot_to_file","text":"","code":"store_KPI_plot_to_file(input, DATA)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/store_KPI_plot_to_file.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"save KPI-plot to file — store_KPI_plot_to_file","text":"input respective shiny-component DATA respective shiny-component","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/store_results_to_file.html","id":null,"dir":"Reference","previous_headings":"","what":"write results of the analysis to file — store_results_to_file","title":"write results of the analysis to file — store_results_to_file","text":"write results analysis file","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/store_results_to_file.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"write results of the analysis to file — store_results_to_file","text":"","code":"store_results_to_file( results, results_path, save_to_xlsx = FALSE, set_author_xlsx = FALSE )"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/store_results_to_file.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"write results of the analysis to file — store_results_to_file","text":"results object write. results_path path write file , sans filesuffix. save_to_xlsx results written .xlsx-file? false, written .csv-file instead. set_author_xlsx writing xlsx-file, author set generated 'duflor' via 'duflor.gui', user_machine XX?","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/store_results_to_file.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"write results of the analysis to file — store_results_to_file","text":"list containing boolean check whether file written disk successfully complete path resulting file.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/store_results_to_file.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"write results of the analysis to file — store_results_to_file","text":"XLSX-files suggested output additional postprocessing required. data modified , writing csv save space.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/update_resultsObject.html","id":null,"dir":"Reference","previous_headings":"","what":"adds a line of values newline to a df resultsObject — update_resultsObject","title":"adds a line of values newline to a df resultsObject — update_resultsObject","text":"function validate inputs!.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/update_resultsObject.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"adds a line of values newline to a df resultsObject — update_resultsObject","text":"","code":"update_resultsObject(resultsObject, new_line)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/update_resultsObject.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"adds a line of values newline to a df resultsObject — update_resultsObject","text":"resultsObject existing dataframe new_line data-vector add","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/update_resultsObject.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"adds a line of values newline to a df resultsObject — update_resultsObject","text":"updated resultsObject","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/validate_custom_HSV_values.html","id":null,"dir":"Reference","previous_headings":"","what":"ensure that custom HSV values are within required range — validate_custom_HSV_values","title":"ensure that custom HSV values are within required range — validate_custom_HSV_values","text":"HUE, value must within [0, 359] SATURATION, value must within [0, 1] VALUE, value must within [0, 1]","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/validate_custom_HSV_values.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"ensure that custom HSV values are within required range — validate_custom_HSV_values","text":"","code":"validate_custom_HSV_values(input, DATA, session)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/validate_custom_HSV_values.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"ensure that custom HSV values are within required range — validate_custom_HSV_values","text":"input respective shiny-component DATA respective shiny-component session shiny session-object","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/validate_custom_HSV_values.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"ensure that custom HSV values are within required range — validate_custom_HSV_values","text":"list containing expected bounds keys specific bound violated, along violated value","code":""}]
+[{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/general-user-manual.html","id":"general-structure","dir":"Articles","previous_headings":"","what":"General Structure","title":"General user manual for 'duflor.gui'","text":"figure 1, general overview GUI can seen. general, GUI split two regions. grey panel left side contains input-controls relevant setup configuration analysis. , steps must done get results located . Consequently, buttons/drop--menus/tables/controls right side app pertaining results. noted several controls won’t anything results computed1.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/general-user-manual.html","id":"steps-required-to-run-an-analysis-input-controls","dir":"Articles","previous_headings":"General Structure","what":"Steps required to run an analysis / Input Controls","title":"General user manual for 'duflor.gui'","text":"section deal detail controls grey panel. Generally, steps designed done order, top bottom2: Selecting folder containing input images.Note: folder must contain images intended evaluated, extends sub-folders. select folder foo analysed, image foo/bar.png evaluated. However, images foo/baz/bar.png foo/baz/another/ridiculous/nesting/plant.png also evaluated. Selecting type analysis performed3. Select GFA Leaf Area Analysis/Grünflächenanalyse, WFA intend perform Root Area Analysis/Wurzelflächenanalyse. 0≤H0≤3590 \\le H_0 \\le 359, 0≤H1≤3590 \\le H_1 \\le 359, H0 Post-Execution Steps","what":"Tab 2: Results - complete","title":"General user manual for 'duflor.gui'","text":"table tab renders results written file 1:11:1. bottom, may decide whether results saved .csv-file, .xlsx-file. Generally use .csv suggested smaller file-size; sometimes output data must processed afterwards, saving data .xlsx-file may advantageous.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/general-user-manual.html","id":"tab-3-results---inspect","dir":"Articles","previous_headings":"General Structure > Post-Execution Steps","what":"Tab 3: Results - inspect","title":"General user manual for 'duflor.gui'","text":"third tab lets inspect results based specific spectrum. table exists two simple reasons: “complete” table frequently crowded easily digestible, particularly lower-DPI screens. selecting spectrum file, results applying said spectrum selected file can viewed (see Figure 2). Optionally, contrast “hits” pixels can increased. can particularly helpful trying identify false positive pixels given spectrum (see figure 3)","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/general-user-manual.html","id":"tab-4-results---plots","dir":"Articles","previous_headings":"General Structure > Post-Execution Steps","what":"Tab 4: Results - plots","title":"General user manual for 'duflor.gui'","text":"fourth tab allows view basic plot different KPIs determined. Currently, following KPIs available: area_per_pixel: value denotes “much area”5 equivalent single pixel. resulting area6, number matching pixels, fraction matching pixels relative potential hits","code":""},{"path":[]},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/general-user-manual.html","id":"state-management-saving-and-restoring-application-configuration-to-and-from-files","dir":"Articles","previous_headings":"General Structure > Edge-cases / special controls","what":"State-Management: Saving and restoring application configuration to and from files","title":"General user manual for 'duflor.gui'","text":"bottom grey panel exists section called “Bookmarking”. allows user store current state app’s input data (configuration, chosen directory-path, relevant data) file, can loaded later time. general, two use-cases: Retaining restoring common configuration changes easier access. Restoring configurations induced errors, might debugged reproducible manner. details, see vignette(\"saving--restoring-application-states\", package = \"duflor.gui\").","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/general-user-manual.html","id":"tab-1-image-files","dir":"Articles","previous_headings":"General Structure > Edge-cases / special controls","what":"Tab 1: Image Files","title":"General user manual for 'duflor.gui'","text":"tab contains image files analysed. However, also allows view image. particularly useful verifying correctly cropped image, /correctly selected area identifier-dot (suggested extra steps). example application look like can seen figure 4.","code":""},{"path":[]},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/general-user-manual.html","id":"cropping-images","dir":"Articles","previous_headings":"Measures for optimising execution speed","what":"Cropping Images","title":"General user manual for 'duflor.gui'","text":"effective way increasing execution time reduce size data- set analysed. desired area selected described , can optionally reviewed (another) image pressing Render plant-button tab Image Files. -depth description can found vignette(\"image-cropping\", package = \"duflor.gui\").","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/general-user-manual.html","id":"parallelised-execution","dir":"Articles","previous_headings":"Measures for optimising execution speed","what":"Parallelised execution","title":"General user manual for 'duflor.gui'","text":"Based power system running app, one might consider parallelising evaluation images reduce computation time. However, effectiveness depends heavily resources available. -depth description can found vignette(\"parallelisation\", package = \"duflor.gui\").","code":""},{"path":[]},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/general-user-manual.html","id":"restricting-area-within-which-the-identifier-dot-is-quantified","dir":"Articles","previous_headings":"Measures for maximising accuracy","what":"Restricting area within which the identifier-dot is quantified","title":"General user manual for 'duflor.gui'","text":"Typically, largest error-source bad inconsistent determination identifier used calculate area extracted spectra. information counter issue, -depth description can found vignette(\"identifier-cropping\", package = \"duflor.gui\").","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/general-user-manual.html","id":"fine-tuning-hsv-boundaries","dir":"Articles","previous_headings":"Measures for maximising accuracy","what":"Fine-tuning HSV-boundaries","title":"General user manual for 'duflor.gui'","text":"Determining HSV-boundaries can arduous time-consuming process. recommended frequently via GUI, instead create small script calling relevant functions duflor-package . -depth guide details can found vignette(\"modifying-hsv-bounds\", package = \"duflor.gui\").","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/general-user-manual.html","id":"advanced-debugging","dir":"Articles","previous_headings":"","what":"(Advanced) Debugging","title":"General user manual for 'duflor.gui'","text":"Generally, app tries give reasonable warnings status-messages via small red/yellow/blue message boxes. fairly self-explanatory, pop author thought sensible necessary. app runs error, cases configuration required triggering said error preserved. info, see section “Saving states errors occur analysis” vignette(\"saving--restoring-application-states\", package = \"duflor.gui\").","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/general-user-manual.html","id":"development-modifications-issues","dir":"Articles","previous_headings":"","what":"Development, Modifications, Issues","title":"General user manual for 'duflor.gui'","text":"details raise new feature-requests, please refer vignette(\"raising-issues\", package = \"duflor.gui\").","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/general-user-manual.html","id":"reporting-issues","dir":"Articles","previous_headings":"Development, Modifications, Issues","what":"Reporting issues","title":"General user manual for 'duflor.gui'","text":"app, underlying code can reviewed minimal upfront work opening source-code GitHub - either manually downloading , cloning via git. either, navigate duflor- duflor.gui-repository. details see vignette(\"raising-issues\", package = \"duflor.gui\").","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/general-user-manual.html","id":"further-development","dir":"Articles","previous_headings":"Development, Modifications, Issues","what":"Further development","title":"General user manual for 'duflor.gui'","text":"free take either packages continue development , abiding licensing terms declared.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/identifier-cropping.html","id":"the-problem","dir":"Articles","previous_headings":"","what":"The problem","title":"Restricting area for quantification of the identifier-dot","text":"Analysing entire image bears risk introducing high error-rates determined number pixels “identifier” deviates. Given difference orders magnitude number “identifier”-pixels typical number pixels plant-related spectrum (e.g. “green plant area”), small deviation number detected “identifier”-pixels compared images drastically influence computed areas spectra. issue can observed figure :","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/identifier-cropping.html","id":"the-solution","dir":"Articles","previous_headings":"","what":"The solution","title":"Restricting area for quantification of the identifier-dot","text":"counteract , GUI allows limit range within matches identifier-spectrum considered “valid”. matches outside area ignored. select area, follow steps outlined . step corresponds number within figures 2 3: Select image inspect. may select one image within Image Files-Tab. Check check-box enable feature. expand previously-hidden panel. Next, press button Select area analyse launch window shown figure 3. Finally, left-click--drag area within identifier-dot resides. selection may contain anything, may size. let go, selection-GUI close, bounding coordinates inserted respective numeric input controls. might tempted make small possible. However, certainly advantageous minimise area much possible, certain buffer-zone kept. position identifier-dot might differ subtly across images, -strict selection might suddenly exclude pixels actually part identifier-dot.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/identifier-cropping.html","id":"results","dir":"Articles","previous_headings":"","what":"Results","title":"Restricting area for quantification of the identifier-dot","text":"difference step can make can observed tables 1 2. Note small example, effect preventive step entirely dependent upon image, thus hard predict. can images contain almost impurities, images severely polluted “invalid” hits. Table 1: Number pixels ‘identifier_dot’, well resulting area example-drought spectrum based given number matched pixels. case, qualified “identifier”-pixels used determine areas. Table 2: Restricting area identifier-dot lies changes given spectrum’s calculated area.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/image-cropping.html","id":"the-problem","dir":"Articles","previous_headings":"","what":"The problem","title":"Cropping the image for selective and faster analysis","text":"taking images pot photo-box, frequently regions within image relevance results. Figure 1 displays typical photo analysed. Please ignore rectangle around pink identifier-dot, well information printed top-left corner now. Large regions left, right top plant pink dot completely irrelevant analysis. pixels can happily ignored. fact, excluding result unnecessary iterations analysis, can significantly increase time required analysis complete. time-loss increases linearly number analysed images.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/image-cropping.html","id":"the-solution","dir":"Articles","previous_headings":"","what":"The solution","title":"Cropping the image for selective and faster analysis","text":"counteract , GUI allows select rectangular sub-set full image analysed instead. select area, follow steps outlined . step corresponds number within figures 2 3: Select image inspect. may select one image within Image Files-Tab Check check-box enable feature. expand previously-hidden panel. Next, press button Select area analyse launch window shown figure 3. Finally, left-click--drag area within plant identifier-dot reside. selection may contain anything else, may size. let go, selection-GUI close, bounding coordinates inserted respective numeric input controls.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/modifying-hsv-bounds.html","id":"introduction","dir":"Articles","previous_headings":"","what":"Introduction","title":"Fine-tuning HSV-boundaries","text":"default values HSV-spectra provided via shiny-application set back-end-package “duflor”, frontend-package “duflor.gui”. two methods altering HSV-bounds use analysis. first one can performed within GUI, take effect current session. Restarting GUI R-session purge changes issued way1. second one can used change values app starts, however requires additional setup side user must invoked specific manner time.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/modifying-hsv-bounds.html","id":"scales-required-for-the-different-components-of-an-hsv-triplet","dir":"Articles","previous_headings":"Introduction","what":"Scales required for the different components of an HSV-triplet","title":"Fine-tuning HSV-boundaries","text":"important understand format limitations within values respective Hue-, Saturation- Value-Components must provided. Input-values must provided HSV-color space accordance following rules: 0≤H0≤3590 \\le H_0 \\le 359, 0≤H1≤3590 \\le H_1 \\le 359, H0 Limitations","what":"back-ends: socket vs fork","title":"Parallelised computing as a method for increased performance","text":"-called socket-back-end can run Windows, MacOS Linux. works separately exporting required environment (variables, functions, hidden objects, loaded packages, etc.) master-process every designated worker, work secluded . worker finishes workload, must signal back master-process finished. workers done, results can collected master, combined collective output format, used “normal” variable . major disadvantage significant overhead accumulating back--forth, thus socket-cluster slow (compared fork-back-end described ). reasons described , socket-back-end also heavily increases RAM-usage (linearly number workers). hand, fork-back-end runs significantly faster. Instead duplicating data providing unique copy worker-process, worker gains access master’s environment. consequence, significant overhead duplicating environment can ignored, workers instead just return respective results master process. Unfortunately, back-end available windows. additional side note, machine-clusters use fork-back-ends.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/parallelisation.html","id":"suggestions","dir":"Articles","previous_headings":"How a parallelised setup can help","what":"Suggestions","title":"Parallelised computing as a method for increased performance","text":"setting parallel back-end via app, consider specifications machine described : might tempted create parallel back.end using available cores system. . Simply don’t. Assigning available cores cluster leave core freely-available programs machine job. can certainly cause havoc. Thus, leave least single core available. setting parallelisation via shiny-GUI, possible use cores available. limited amount available RAM, comes point adding additional workers deteriorate performance entire back-end. machine e.g. 8 GB available RAM, 2 workers might work efficiently, 3 might work just fast sequential back-end2. clear guide determine tipping-point. general, cluster comes close consuming available system RAM, adding workers likely deteriorate overall performance, slightly reducing number workers might even beneficial.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/raising-issues.html","id":"general-etiquette-and-different-types-of-issues","dir":"Articles","previous_headings":"","what":"General etiquette and different types of ‘issues’","title":"How to report issues, raise suggestions and feedback","text":"Although conglomerated name “issues”, generally reports differentiated two categories: Bug Reports Feature Requests/Suggestions","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/raising-issues.html","id":"bug-reports","dir":"Articles","previous_headings":"General etiquette and different types of ‘issues’","what":"Bug Reports","title":"How to report issues, raise suggestions and feedback","text":"Bug reports… somewhat obvious first. However, great difference constitutes good, bad, useless bug-report. useful, bare-minimum amount information must provided, including package run source version-control via git local machine (instead installed package within R), SHA currently checked-commit must provided. Detailed, clear instructions required reproduce issue. example-data set exhibits problem. case duflor.gui duflor, often include example-images. Information system’s specifications (OS, hardware configuration, etc. pp.) R-Version use Notes warnings/errors emitted console /encountering bug. generated, error_state.rds-file. file generated errors occur certain sections code, . bundles state app’s data structure point error occurred, including configuration. However, include raw image-files input, must supplied separately. details, see vignette(\"saving--restoring-application-states\", package = \"duflor.gui\"). reporting bugs, heavily suggested supply file. information available, easier becomes identify actual issue.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/raising-issues.html","id":"feature-requests","dir":"Articles","previous_headings":"General etiquette and different types of ‘issues’","what":"Feature Requests","title":"How to report issues, raise suggestions and feedback","text":"keep development efficient reasonable, certain number requirements reporting problems requesting features. feature request clearly define additional feature implemented. bug-reports, information provided, easier ’s viability ease implementation can assessed. clearly describe implemented, well (broad strokes ) implemented.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/saving-and-restoring-application-states.html","id":"introduction","dir":"Articles","previous_headings":"","what":"Introduction","title":"Saving and restoring application-states","text":"app ability store configuration-state permanently across sessions, can restored later state - different machine.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/saving-and-restoring-application-states.html","id":"saving-and-restoring-common-states","dir":"Articles","previous_headings":"","what":"Saving and restoring common states","title":"Saving and restoring application-states","text":"common use-case user save restore config-changes across sessions. Let’s build hypothetical scenario, perform experiment set experimental groups 10 weeks. week, pots across groups imaged, images analysed determine development leaf-area time. Let’s assume certain settings changed standard values, instance: HSV-boundaries specific spectrum must analysed tweaked declared area identifier-dot changed default value Recreating modifications every time set images must analysed experimental setup enormous potential inducing errors along way. counteract , user may save current configuration input-controls settings file (see step () figure 1. changes can later reloaded file (step (B) figure 1. Note following limitations apply: --analysed image-files stored. Instead, directory-path selected folder . However, images moved application-state saved, images longer found. Options modified via GUI stored. Assume load configuration X, perform analysis , change HSV-bounds specific spectrum, finally save state without re-executing analysis. result, HSV-spectra stored state-file differ used analysis. user load state execute , new results identical previous version. “state” technically stores general DATA-object also contains results-data (computed state-file generated), data rendered state loaded. DATA-object essentially stored internal purposes, retain results-data across sessions.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/saving-and-restoring-application-states.html","id":"saving-states-when-errors-occur-during-analysis","dir":"Articles","previous_headings":"","what":"Saving states when errors occur during analysis","title":"Saving and restoring application-states","text":"Additionally process manually saving application-state, application generates state-files error occurs execution certain subroutines: input$submit_selected_spectra: callback issues analysis images, loading images generation results. subroutine responsible computing analyses, steps required obtain results-table figures branch . input$render_selected_mask: callback responsible inspecting mask spectrum-matches respective image-file results computed. input$save_results: callback responsible saving results-table either .xlsx-.csv-file. input$save_visualisation_plot: callback responsible saving selected KPI-plot tab Results - plots. input$render_plant: callback responsible viewing input image-file. reactive filtered_plot: reactive generates KPI-plots tab Results - plots. reactive filtered_results: reactive generates filtered results-table tab Results - inspect. Error-states saved relative selected input-folder containing input-images. states supposed used manually, instead generated issues can found easier. issues reported, state-files supplied available. application installed built package, internal functions logic-flow become somewhat harder debug. Thus, recommended load application source-code package-project via devtools inspecting bugs. Error-states deleted automatically, can accumulate. sure remove outlived usefulness.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/articles/saving-and-restoring-application-states.html","id":"limitations","dir":"Articles","previous_headings":"","what":"Limitations","title":"Saving and restoring application-states","text":"couple limitations system: one state can loaded one time. may leverage system save restore changed HSV-spectra, thus generate state-file modified spectra. may additionally generate different state-file predefined set allocated cores parallelisation. Now, two different state-files, loading succession, latter overwrite changes made former one. First loading “parallelisation”-state, loading “spectra”-state discard changes made “parallelisation”-state.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Claudius Appel. Author, maintainer.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Appel C (2024). duflor.gui: Frontend duflor-package. R package version 1.0.8, https://Claudius-Appel.github.io/duflor.gui/.","code":"@Manual{, title = {duflor.gui: Frontend for duflor-package}, author = {Claudius Appel}, year = {2024}, note = {R package version 1.0.8}, url = {https://Claudius-Appel.github.io/duflor.gui/}, }"},{"path":"https://Claudius-Appel.github.io/duflor.gui/index.html","id":"duflorgui","dir":"","previous_headings":"","what":"Frontend for duflor-package","title":"Frontend for duflor-package","text":"duflor.gui-package contains shiny-application built use duflor-package.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/index.html","id":"installation---from-within-rstudio","dir":"","previous_headings":"","what":"Installation - from within RStudio","title":"Frontend for duflor-package","text":"package requires installation duflor-package, implements back-end code analysis-pipelines application.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/index.html","id":"prerequisites","dir":"","previous_headings":"Installation - from within RStudio","what":"Prerequisites","title":"Frontend for duflor-package","text":"application quite complex, relies certain number packages work. package renv can help managing reproducible package environment project. additional advantage, also prevents packages system-library updated installing package. proper documentation information use-cases, refer “https://rstudio.github.io/renv/index.html”.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/index.html","id":"setup-r-project-with-renv","dir":"","previous_headings":"Installation - from within RStudio > Prerequisites","what":"Setup r-project with renv","title":"Frontend for duflor-package","text":"set stand-alone R-project renv, easiest way R-Studio: Go File > New Project. Select New Directory. Select New Project project-type1. Give distinct name project, e.g. duflor.gui_installed2. Choose location R-project. Make sure check-box Use renv project checked.3 Make sure check-box Open new session checked. Create project. now , project can opened within R-Studio via project-selection drop--menu top-right corner RStudio-application. continuing, open project .","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/index.html","id":"install-devtools","dir":"","previous_headings":"Installation - from within RStudio > Prerequisites","what":"Install devtools","title":"Frontend for duflor-package","text":"First , make sure followed steps outlined “[Setup r-project renv]”, RStudio currently created project. Installing package GitHub requires installation R-package devtools. devtools can used compile source-packages installed binaries. asked proceed, make sure installation-path R-project created: created R-project renv , path look something like correct, can go ahead answer prompt Y. case, install devtools via RStudio-GUI: Open packages-panel. Search select devtools. “Install library”, make sure path selected similar example outlined . words, make sure install library containing string R/cache/R/renv/sandbox. installed devtools, go next step.","code":"install.packages(\"devtools\") C:/Users/User_Main/Desktop/TempTemporal/test_duflorgui_install C:/Users/User_Main/Desktop/TempTemporal/test_duflorgui_install/renv/library/R-X.Y/...."},{"path":"https://Claudius-Appel.github.io/duflor.gui/index.html","id":"install-r-build-toolchain","dir":"","previous_headings":"Installation - from within RStudio > Prerequisites","what":"Install R-build-toolchain","title":"Frontend for duflor-package","text":"underlying package duflor contains C++ code. distributed source-code, users require appropriate R-build-toolchain respective operating system. information setup-instructions, refer “https://r-pkgs.org/setup.html#setup-tools”. windows, R-package installr may used check Rtools already installed, whether found R. Additionally, notify user new R-update available (major minor versions , ignores patch versions):","code":"install.packages(\"installr\") # once pkgbuild is installed, run: installr::install.Rtools(check = T,check_r_update = T,GUI = T)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/index.html","id":"installation-steps","dir":"","previous_headings":"Installation - from within RStudio","what":"Installation-steps","title":"Frontend for duflor-package","text":"duflor- duflor.gui-packages must installed respective GitHub-repositories. can install development release versions duflor.gui like : installing devtools, make sure renv-library selected installing package.","code":"# release: devtools::install_github(\"https://github.com/Claudius-Appel/duflor.gui@master\") # development version: devtools::install_github(\"https://github.com/Claudius-Appel/duflor.gui@dev\")"},{"path":"https://Claudius-Appel.github.io/duflor.gui/index.html","id":"installing-help-vignettes","dir":"","previous_headings":"Installation - from within RStudio","what":"Installing help-vignettes","title":"Frontend for duflor-package","text":"application documented detail via pkgdown, site can reached github-repository. articles outlined site may also viewed vignettes within RStudio. , must explicitly declare vignettes installed: Vignettes rendered documents discussing specific topics within package. Installing recommended, required utilizing package .","code":"devtools::install_github(\"https://github.com/Claudius-Appel/duflor.gui@master\" ,build_vignettes = T) devtools::install_github(\"https://github.com/Claudius-Appel/duflor.gui@dev\" ,build_vignettes = T)"},{"path":[]},{"path":"https://Claudius-Appel.github.io/duflor.gui/index.html","id":"prerequisites-1","dir":"","previous_headings":"Installation - from the command-line","what":"Prerequisites","title":"Frontend for duflor-package","text":"case, check make accessible command-line respective system underlying package duflor contains C++ code. distributed source-code, users require appropriate R-build-toolchain respective operating system. information setup-instructions, refer “https://r-pkgs.org/setup.html#setup-tools”.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/index.html","id":"cli-installation-steps","dir":"","previous_headings":"Installation - from the command-line","what":"CLI-Installation-steps","title":"Frontend for duflor-package","text":"install application, follow steps : open terminal, move location want install program create folder place application , e.g. mkdir duflor_app move folder via cd duflor_app launch R executing R executing 1+1 now successfully return [1] 2 , install executing install.packages(\"renv\"), follow instructions installing /potential dependencies execute renv::init() repeat step 6) package devtools release-version: devtools::install_github(\"https://github.com/Claudius-Appel/duflor.gui@master\") development-version: devtools::install_github(\"https://github.com/Claudius-Appel/duflor.gui@dev\") follow instructions installing /potential dependencies , GUI open default-browser, application can used now ","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/index.html","id":"installing-help-vignettes-1","dir":"","previous_headings":"Installation - from the command-line","what":"Installing help-vignettes","title":"Frontend for duflor-package","text":"application documented detail via pkgdown, site can reached github-repository. articles outlined site may also viewed vignettes within RStudio. , must explicitly declare vignettes installed performing step 9 “CLI-Installation-steps”: Vignettes rendered documents discussing specific topics within package. Installing recommended, required utilizing package .","code":"devtools::install_github(\"https://github.com/Claudius-Appel/duflor.gui@master\",build_vignettes = T) devtools::install_github(\"https://github.com/Claudius-Appel/duflor.gui@dev\",build_vignettes = T)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/index.html","id":"running-the-app-from-the-command-line","dir":"","previous_headings":"","what":"Running the app from the command-line","title":"Frontend for duflor-package","text":"installation, application can launched described : cd folder installed application , e.g. cd duflor_app launch R via R launch app via duflor.gui::duflor_gui()","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/index.html","id":"running-the-app-from-within-rstudio","dir":"","previous_headings":"","what":"Running the app from within RStudio","title":"Frontend for duflor-package","text":"Follow installation-steps outlined “Installation - within RStudio” Open project via drop--menu top-right corner RStudio-application. Launch app executing duflor.gui::duflor_gui() console.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/index.html","id":"parallelisation-requires-installation-of-package-not-just-loading","dir":"","previous_headings":"","what":"Parallelisation requires installation of package, not just loading","title":"Frontend for duflor-package","text":"order shiny application able run analysis parallel, packages duflor duflor.gui must installed. package developed locally, executing devtools::load_all() sufficient. counteract , make sure packages actually installed , show listed packages.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"MIT License","title":"MIT License","text":"Copyright (c) 2024 Claudius Appel Permission hereby granted, free charge, person obtaining copy software associated documentation files (“Software”), deal Software without restriction, including without limitation rights use, copy, modify, merge, publish, distribute, sublicense, /sell copies Software, permit persons Software furnished , subject following conditions: copyright notice permission notice shall included copies substantial portions Software. SOFTWARE PROVIDED “”, WITHOUT WARRANTY KIND, EXPRESS IMPLIED, INCLUDING LIMITED WARRANTIES MERCHANTABILITY, FITNESS PARTICULAR PURPOSE NONINFRINGEMENT. EVENT SHALL AUTHORS COPYRIGHT HOLDERS LIABLE CLAIM, DAMAGES LIABILITY, WHETHER ACTION CONTRACT, TORT OTHERWISE, ARISING , CONNECTION SOFTWARE USE DEALINGS SOFTWARE.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/convert_pixels_to_area_gui.html","id":null,"dir":"Reference","previous_headings":"","what":"convert pixel counts to an area based on the known area of an identifier-dot. — convert_pixels_to_area_gui","title":"convert pixel counts to an area based on the known area of an identifier-dot. — convert_pixels_to_area_gui","text":"convert pixel counts area based known area identifier-dot.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/convert_pixels_to_area_gui.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"convert pixel counts to an area based on the known area of an identifier-dot. — convert_pixels_to_area_gui","text":"","code":"convert_pixels_to_area_gui(pixel.counts, identifier_area)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/convert_pixels_to_area_gui.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"convert pixel counts to an area based on the known area of an identifier-dot. — convert_pixels_to_area_gui","text":"pixel.counts list containing following pixel-counts: \"bex_green_HSV\" \"bex_drought_HSV\" \"bex_complete_HSV\" \"bex_identifier_HSV\" pixel-count identifier must present, whereas others optional. calculated area internally unit-less. However, default value duflor.default_identifier_area 0.503 [cm^2], areas computed function also [cm^2]. assumed area identifier can modified excuting options(duflor.default_identifier_area = ) prior calling function identifier_area declared size identifier area, [cm^2]","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/convert_pixels_to_area_gui.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"convert pixel counts to an area based on the known area of an identifier-dot. — convert_pixels_to_area_gui","text":"list computed areas key listed pixel.counts. Additionally, two meta-values returned well: identifier-area used calculating area (whichever value set option duflor.default_identifier_area) area singe pixel values [cm^2]","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/convert_pixels_to_area_gui.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"convert pixel counts to an area based on the known area of an identifier-dot. — convert_pixels_to_area_gui","text":"restructured version duflor::convert_pixels_to_area, suitable needs specific app.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/correct_distortion.html","id":null,"dir":"Reference","previous_headings":"","what":"correct for (barrel-) distortion — correct_distortion","title":"correct for (barrel-) distortion — correct_distortion","text":"correct (barrel-) distortion","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/correct_distortion.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"correct for (barrel-) distortion — correct_distortion","text":"","code":"correct_distortion( pixel.idx, distortions, image_dimensions, do_crop_image, x0, y0 )"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/correct_distortion.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"correct for (barrel-) distortion — correct_distortion","text":"pixel.idx matrix pixel-coordinate pairs matched pixels. distortions list distortion-factors apply. Values must numeric, scale -100 <> +100 Currently, barrel-distortion can applied. image_dimensions actual dimensions image, without cropping. do_crop_image boolean check image cropped. x0 coordinates cropping top left corner. Necessary correct coordinate-space cropping. y0 ”","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/correct_distortion.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"correct for (barrel-) distortion — correct_distortion","text":"sum distortion-corrected pixels, rounded closest integer value.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/dev_key_handler.html","id":null,"dir":"Reference","previous_headings":"","what":"handles the setting and unsetting of debug-keys — dev_key_handler","title":"handles the setting and unsetting of debug-keys — dev_key_handler","text":"Keys begin 2 - considered boolean flags, must provided format --key=, boolean following values allowed: T/TRUE/1 F/FALSE/0","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/dev_key_handler.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"handles the setting and unsetting of debug-keys — dev_key_handler","text":"","code":"dev_key_handler(input, DATA, DEBUGKEYS, session, use_logical_cores)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/dev_key_handler.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"handles the setting and unsetting of debug-keys — dev_key_handler","text":"input respective shiny-component DATA respective shiny-component DEBUGKEYS respective shiny-component session shiny session-object use_logical_cores internal flag","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/dev_key_handler.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"handles the setting and unsetting of debug-keys — dev_key_handler","text":"modified DEBUGKEYS?","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/dev_key_handler.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"handles the setting and unsetting of debug-keys — dev_key_handler","text":"Keys begin 3 - expecting non-boolean, custom input, differ based respective key.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/dot-main_args.html","id":null,"dir":"Reference","previous_headings":"","what":"pseudo-function to define default parameter documentation — .main_args","title":"pseudo-function to define default parameter documentation — .main_args","text":"pseudo-function define default parameter documentation","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/dot-main_args.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"pseudo-function to define default parameter documentation — .main_args","text":"","code":".main_args(input, output, DATA, FLAGS, DEBUGKEYS, session, volumes)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/dot-main_args.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"pseudo-function to define default parameter documentation — .main_args","text":"input respective shiny-component output respective shiny-component DATA respective shiny-component FLAGS respective shiny-component DEBUGKEYS respective shiny-component session shiny session-object volumes volumes present machine","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/dot-main_args.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"pseudo-function to define default parameter documentation — .main_args","text":"nothing. function literally nothing","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/duflor_gui.html","id":null,"dir":"Reference","previous_headings":"","what":"Start the duflor-gui via this function — duflor_gui","title":"Start the duflor-gui via this function — duflor_gui","text":"Start duflor-gui via function","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/duflor_gui.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Start the duflor-gui via this function — duflor_gui","text":"","code":"duflor_gui()"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/duflor_gui.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Start the duflor-gui via this function — duflor_gui","text":".","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/execute_analysis.html","id":null,"dir":"Reference","previous_headings":"","what":"wrapper-function facilitating single- and multi-image analysis. — execute_analysis","title":"wrapper-function facilitating single- and multi-image analysis. — execute_analysis","text":"wrapper-function facilitating single- multi-image analysis.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/execute_analysis.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"wrapper-function facilitating single- and multi-image analysis. — execute_analysis","text":"","code":"execute_analysis(input, DATA, DEBUGKEYS, FLAGS)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/execute_analysis.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"wrapper-function facilitating single- and multi-image analysis. — execute_analysis","text":"input respective shiny-component DATA respective shiny-component DEBUGKEYS respective shiny-component FLAGS respective shiny-component","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/execute_analysis.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"wrapper-function facilitating single- and multi-image analysis. — execute_analysis","text":"list components results: results-data passed-execute_multiple() execute_single()","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/execute_multiple.html","id":null,"dir":"Reference","previous_headings":"","what":"execute analysis on multiple images, and return their results — execute_multiple","title":"execute analysis on multiple images, and return their results — execute_multiple","text":"single-image analysis, see execute_single()","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/execute_multiple.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"execute analysis on multiple images, and return their results — execute_multiple","text":"","code":"execute_multiple(files, input, DATA, DEBUGKEYS, FLAGS)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/execute_multiple.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"execute analysis on multiple images, and return their results — execute_multiple","text":"files files analyse input respective shiny-component DATA respective shiny-component DEBUGKEYS respective shiny-component FLAGS respective shiny-component","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/execute_multiple.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"execute analysis on multiple images, and return their results — execute_multiple","text":"results_object, see update_resultsObject()","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/execute_single.html","id":null,"dir":"Reference","previous_headings":"","what":"execute analysis on a single image, and return its results — execute_single","title":"execute analysis on a single image, and return its results — execute_single","text":"single-image analysis, see execute_multiple()","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/execute_single.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"execute analysis on a single image, and return its results — execute_single","text":"","code":"execute_single(file, input, DATA, DEBUGKEYS, FLAGS)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/execute_single.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"execute analysis on a single image, and return its results — execute_single","text":"file file analyse input respective shiny-component DATA respective shiny-component DEBUGKEYS respective shiny-component FLAGS respective shiny-component","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/execute_single.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"execute analysis on a single image, and return its results — execute_single","text":"results_object, see update_resultsObject()","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/get_group.html","id":null,"dir":"Reference","previous_headings":"","what":"trims numbers from groups from character-vector — get_group","title":"trims numbers from groups from character-vector — get_group","text":"trims numbers groups character-vector","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/get_group.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"trims numbers from groups from character-vector — get_group","text":"","code":"get_group(names)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/get_group.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"trims numbers from groups from character-vector — get_group","text":"names .","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/get_group.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"trims numbers from groups from character-vector — get_group","text":".","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/get_image_dimensions.html","id":null,"dir":"Reference","previous_headings":"","what":"retrieves image dimension via call to system interface — get_image_dimensions","title":"retrieves image dimension via call to system interface — get_image_dimensions","text":"retrieves image dimension via call system interface","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/get_image_dimensions.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"retrieves image dimension via call to system interface — get_image_dimensions","text":"","code":"get_image_dimensions(path)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/get_image_dimensions.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"retrieves image dimension via call to system interface — get_image_dimensions","text":"path path file measure","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/get_image_dimensions.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"retrieves image dimension via call to system interface — get_image_dimensions","text":"list(width=dbl,height=dbl)","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/get_KPI_plot.html","id":null,"dir":"Reference","previous_headings":"","what":"generate a ggplot for a given KPI — get_KPI_plot","title":"generate a ggplot for a given KPI — get_KPI_plot","text":"Function generates ggplot-object base selected choices DDLs","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/get_KPI_plot.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"generate a ggplot for a given KPI — get_KPI_plot","text":"","code":"get_KPI_plot(input, DATA)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/get_KPI_plot.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"generate a ggplot for a given KPI — get_KPI_plot","text":"input respective shiny-component DATA respective shiny-component","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/get_KPI_plot.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"generate a ggplot for a given KPI — get_KPI_plot","text":"ggplot-object respective KPI","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/key_handle_cores.html","id":null,"dir":"Reference","previous_headings":"","what":"internal function handling dev-key ---set.cores=XX — key_handle_cores","title":"internal function handling dev-key ---set.cores=XX — key_handle_cores","text":"internal function handling dev-key ---set.cores=XX","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/key_handle_cores.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"internal function handling dev-key ---set.cores=XX — key_handle_cores","text":"","code":"key_handle_cores(value, DATA, use_logical_cores, session)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/key_handle_cores.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"internal function handling dev-key ---set.cores=XX — key_handle_cores","text":"value number cores assign DATA respective shiny-component use_logical_cores whether use logical cores session shiny session-object","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/limit_identifier_coordinates.html","id":null,"dir":"Reference","previous_headings":"","what":"restrict area in which identifier-pixels are considered ","title":"restrict area in which identifier-pixels are considered ","text":"function applied identifier-range. intention exclude random pixels definitely attributed identifier-data.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/limit_identifier_coordinates.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"restrict area in which identifier-pixels are considered ","text":"","code":"limit_identifier_coordinates( spectrums_object, image_dimensions, identifiersearch_x0, identifiersearch_x1, identifiersearch_y0, identifiersearch_y1 )"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/limit_identifier_coordinates.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"restrict area in which identifier-pixels are considered ","text":"spectrums_object return object extract_pixels_HSV() image_dimensions dimensions image identifiersearch_x0 respective coordinate search bounding rectangle identifiersearch_x1 respective coordinate search bounding rectangle identifiersearch_y0 respective coordinate search bounding rectangle identifiersearch_y1 respective coordinate search bounding rectangle","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/limit_identifier_coordinates.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"restrict area in which identifier-pixels are considered ","text":"modified spectrums_object","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/limit_to_range.html","id":null,"dir":"Reference","previous_headings":"","what":"replace values outside of boundaries with respective boundary — limit_to_range","title":"replace values outside of boundaries with respective boundary — limit_to_range","text":"function limits values lie outside [replace_lower, replace_upper]. Values fall outside range modified.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/limit_to_range.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"replace values outside of boundaries with respective boundary — limit_to_range","text":"","code":"limit_to_range(x, replace_lower, replace_upper)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/limit_to_range.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"replace values outside of boundaries with respective boundary — limit_to_range","text":"x vector normalise replace_lower value insert place elements value bound. replace_upper see replace_lower","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/limit_to_range.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"replace values outside of boundaries with respective boundary — limit_to_range","text":"vector, normalised range [replace_lower, replace_upper]","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/limit_to_range.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"replace values outside of boundaries with respective boundary — limit_to_range","text":"","code":"result <- duflor.gui:::limit_to_range(c(0,100,255),0,255) result2 <- duflor.gui:::limit_to_range(c(0,100,256),0,255) print(result) #> [1] 0 100 255 print(result2) #> [1] 0 100 255"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/open_parallelPanel_event.html","id":null,"dir":"Reference","previous_headings":"","what":"internal callback function for the checkbox opening the parallelisation-panel — open_parallelPanel_event","title":"internal callback function for the checkbox opening the parallelisation-panel — open_parallelPanel_event","text":"internal callback function checkbox opening parallelisation-panel","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/open_parallelPanel_event.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"internal callback function for the checkbox opening the parallelisation-panel — open_parallelPanel_event","text":"","code":"open_parallelPanel_event( input, DATA, FLAGS, use_logical_cores, session, STARTUP, default_init_cores = 2 )"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/open_parallelPanel_event.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"internal callback function for the checkbox opening the parallelisation-panel — open_parallelPanel_event","text":"input respective shiny-component DATA respective shiny-component FLAGS respective shiny-component use_logical_cores internal flag session shiny session-object STARTUP respective shiny-component","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/prepare_resultsObject.html","id":null,"dir":"Reference","previous_headings":"","what":"prepare the dataframe-object into which all results are to be merged. — prepare_resultsObject","title":"prepare the dataframe-object into which all results are to be merged. — prepare_resultsObject","text":"results requires fields full_path image_date image_name processed_width processed_height crop_x0/1\\* crop_y0/1\\* identifiercrop_x0/1\\* identifiercrop_y0/1\\* names(DATA$spectrums$lower_bound): %spectrum%_count img.fraction (maybe valuable?) %spectrum%_area (results duflor::convert_pixels_to_area()) %spectrum%_fraction (defined %spectrum%_count/(sum(_count)) distortion-correction enabled, de-distorted instances values recorded well. Otherwhise, set NA.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/prepare_resultsObject.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"prepare the dataframe-object into which all results are to be merged. — prepare_resultsObject","text":"","code":"prepare_resultsObject(input, DATA, DEBUGKEYS)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/prepare_resultsObject.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"prepare the dataframe-object into which all results are to be merged. — prepare_resultsObject","text":"input respective shiny-component DATA respective shiny-component DEBUGKEYS respective shiny-component","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/prepare_resultsObject.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"prepare the dataframe-object into which all results are to be merged. — prepare_resultsObject","text":"results-csv-framework.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/prepare_resultsObject.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"prepare the dataframe-object into which all results are to be merged. — prepare_resultsObject","text":"results-fields crop_x0, crop_x1,... encode x- y-coordinates selected cropping (image-crops identifier-crops.) Due imager::grabRect() functions, origin coordinate-system top-left corner image.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/render_selected_mask.html","id":null,"dir":"Reference","previous_headings":"","what":"render mask based on input data — render_selected_mask","title":"render mask based on input data — render_selected_mask","text":"render mask based input data","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/render_selected_mask.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"render mask based on input data — render_selected_mask","text":"","code":"render_selected_mask(input, DATA, FLAGS)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/render_selected_mask.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"render mask based on input data — render_selected_mask","text":"input respective shiny-component DATA respective shiny-component FLAGS respective shiny-component","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/restore_state.html","id":null,"dir":"Reference","previous_headings":"","what":"restore application state from stored .RDS-file — restore_state","title":"restore application state from stored .RDS-file — restore_state","text":"function responsible ","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/restore_state.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"restore application state from stored .RDS-file — restore_state","text":"","code":"restore_state( input, output, DATA, FLAGS, DEBUGKEYS, session, volumes, state_file )"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/restore_state.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"restore application state from stored .RDS-file — restore_state","text":"input respective shiny-component output respective shiny-component DATA respective shiny-component FLAGS respective shiny-component DEBUGKEYS respective shiny-component session shiny session-object volumes volumes present machine state_file filepath --loaded state_file","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/restore_state.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"restore application state from stored .RDS-file — restore_state","text":"path loaded file.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/save_error_state.html","id":null,"dir":"Reference","previous_headings":"","what":"Handle saving application-state to file — save_error_state","title":"Handle saving application-state to file — save_error_state","text":"assumes input$save_state properly formatted, returned shinyFiles::shinyFileSave() assumes volumes return-value shinyFiles::getVolumes()","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/save_error_state.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Handle saving application-state to file — save_error_state","text":"","code":"save_error_state( input, DATA, DEBUGKEYS, FLAGS, volumes, error, errordir_path = NA, erroneous_callback = \"\" )"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/save_error_state.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Handle saving application-state to file — save_error_state","text":"input respective shiny-component DATA respective shiny-component DEBUGKEYS respective shiny-component FLAGS respective shiny-component volumes volumes present machine error error-object errordir_path directory write error-replication state ","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/save_error_state.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Handle saving application-state to file — save_error_state","text":"path error-state file may used load error-triggering settings.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/save_state.html","id":null,"dir":"Reference","previous_headings":"","what":"Handle saving application-state to file — save_state","title":"Handle saving application-state to file — save_state","text":"assumes input$save_state properly formatted, returned shinyFiles::shinyFileSave() assumes volumes return-value shinyFiles::getVolumes()","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/save_state.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Handle saving application-state to file — save_state","text":"","code":"save_state(input, DATA, DEBUGKEYS, FLAGS, volumes)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/save_state.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Handle saving application-state to file — save_state","text":"input respective shiny-component DATA respective shiny-component DEBUGKEYS respective shiny-component FLAGS respective shiny-component volumes volumes present machine","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/save_state.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Handle saving application-state to file — save_state","text":"path saved state-file","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/select_spectra_gui_comp.html","id":null,"dir":"Reference","previous_headings":"","what":"generate and call a modal-dialogue which lets you select which spectrums to analyse. — select_spectra_gui_comp","title":"generate and call a modal-dialogue which lets you select which spectrums to analyse. — select_spectra_gui_comp","text":"Additionally, queries component radio_analysis_type preselect common results different types analyses","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/select_spectra_gui_comp.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"generate and call a modal-dialogue which lets you select which spectrums to analyse. — select_spectra_gui_comp","text":"","code":"select_spectra_gui_comp(input)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/select_spectra_gui_comp.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"generate and call a modal-dialogue which lets you select which spectrums to analyse. — select_spectra_gui_comp","text":"input respective shiny-component","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/select_spectra_gui_comp.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"generate and call a modal-dialogue which lets you select which spectrums to analyse. — select_spectra_gui_comp","text":".","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/setup_parallel.html","id":null,"dir":"Reference","previous_headings":"","what":"setup parallel backend for a given number of cores. — setup_parallel","title":"setup parallel backend for a given number of cores. — setup_parallel","text":"setup parallel backend given number cores.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/setup_parallel.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"setup parallel backend for a given number of cores. — setup_parallel","text":"","code":"setup_parallel(used_cores, cluster_type)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/setup_parallel.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"setup parallel backend for a given number of cores. — setup_parallel","text":"used_cores number cores designated cluster cluster_type either PSOCK FORK. Generally FORK recommended PSOCK, however available systems. See note ","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/setup_parallel.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"setup parallel backend for a given number of cores. — setup_parallel","text":".","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/setup_parallel.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"setup parallel backend for a given number of cores. — setup_parallel","text":"Windows, PSOCK-cluster type available.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/show_infringing_spectrum_elements_gui_comp.html","id":null,"dir":"Reference","previous_headings":"","what":"generate and call a modal-dialogue which displays the prospective changes in HSV-spectrums — show_infringing_spectrum_elements_gui_comp","title":"generate and call a modal-dialogue which displays the prospective changes in HSV-spectrums — show_infringing_spectrum_elements_gui_comp","text":"Additionally, queries whether applied, reset previous value.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/show_infringing_spectrum_elements_gui_comp.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"generate and call a modal-dialogue which displays the prospective changes in HSV-spectrums — show_infringing_spectrum_elements_gui_comp","text":"","code":"show_infringing_spectrum_elements_gui_comp(input, DATA, changes)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/show_infringing_spectrum_elements_gui_comp.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"generate and call a modal-dialogue which displays the prospective changes in HSV-spectrums — show_infringing_spectrum_elements_gui_comp","text":"input respective shiny-component DATA respective shiny-component changes results-object validate_custom_HSV_values()","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/show_infringing_spectrum_elements_gui_comp.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"generate and call a modal-dialogue which displays the prospective changes in HSV-spectrums — show_infringing_spectrum_elements_gui_comp","text":".","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/shutdown_parallel.html","id":null,"dir":"Reference","previous_headings":"","what":"shut down existing parallel cluster — shutdown_parallel","title":"shut down existing parallel cluster — shutdown_parallel","text":"shut existing parallel cluster","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/shutdown_parallel.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"shut down existing parallel cluster — shutdown_parallel","text":"","code":"shutdown_parallel()"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/store_KPI_plot_to_file.html","id":null,"dir":"Reference","previous_headings":"","what":"save KPI-plot to file — store_KPI_plot_to_file","title":"save KPI-plot to file — store_KPI_plot_to_file","text":"save KPI-plot file","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/store_KPI_plot_to_file.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"save KPI-plot to file — store_KPI_plot_to_file","text":"","code":"store_KPI_plot_to_file(input, DATA)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/store_KPI_plot_to_file.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"save KPI-plot to file — store_KPI_plot_to_file","text":"input respective shiny-component DATA respective shiny-component","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/store_results_to_file.html","id":null,"dir":"Reference","previous_headings":"","what":"write results of the analysis to file — store_results_to_file","title":"write results of the analysis to file — store_results_to_file","text":"write results analysis file","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/store_results_to_file.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"write results of the analysis to file — store_results_to_file","text":"","code":"store_results_to_file( results, results_path, save_to_xlsx = FALSE, set_author_xlsx = FALSE )"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/store_results_to_file.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"write results of the analysis to file — store_results_to_file","text":"results object write. results_path path write file , sans filesuffix. save_to_xlsx results written .xlsx-file? false, written .csv-file instead. set_author_xlsx writing xlsx-file, author set generated 'duflor' via 'duflor.gui', user_machine XX?","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/store_results_to_file.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"write results of the analysis to file — store_results_to_file","text":"list containing boolean check whether file written disk successfully complete path resulting file.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/store_results_to_file.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"write results of the analysis to file — store_results_to_file","text":"XLSX-files suggested output additional postprocessing required. data modified , writing csv save space.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/update_resultsObject.html","id":null,"dir":"Reference","previous_headings":"","what":"adds a line of values newline to a df resultsObject — update_resultsObject","title":"adds a line of values newline to a df resultsObject — update_resultsObject","text":"function validate inputs!.","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/update_resultsObject.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"adds a line of values newline to a df resultsObject — update_resultsObject","text":"","code":"update_resultsObject(resultsObject, new_line)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/update_resultsObject.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"adds a line of values newline to a df resultsObject — update_resultsObject","text":"resultsObject existing dataframe new_line data-vector add","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/update_resultsObject.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"adds a line of values newline to a df resultsObject — update_resultsObject","text":"updated resultsObject","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/validate_custom_HSV_values.html","id":null,"dir":"Reference","previous_headings":"","what":"ensure that custom HSV values are within required range — validate_custom_HSV_values","title":"ensure that custom HSV values are within required range — validate_custom_HSV_values","text":"HUE, value must within [0, 359] SATURATION, value must within [0, 1] VALUE, value must within [0, 1]","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/validate_custom_HSV_values.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"ensure that custom HSV values are within required range — validate_custom_HSV_values","text":"","code":"validate_custom_HSV_values(input, DATA, session)"},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/validate_custom_HSV_values.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"ensure that custom HSV values are within required range — validate_custom_HSV_values","text":"input respective shiny-component DATA respective shiny-component session shiny session-object","code":""},{"path":"https://Claudius-Appel.github.io/duflor.gui/reference/validate_custom_HSV_values.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"ensure that custom HSV values are within required range — validate_custom_HSV_values","text":"list containing expected bounds keys specific bound violated, along violated value","code":""}]
diff --git a/docs/sitemap.xml b/docs/sitemap.xml
index 14087e1..c193de1 100644
--- a/docs/sitemap.xml
+++ b/docs/sitemap.xml
@@ -16,6 +16,7 @@
https://Claudius-Appel.github.io/duflor.gui/LICENSE-text.htmlhttps://Claudius-Appel.github.io/duflor.gui/LICENSE.htmlhttps://Claudius-Appel.github.io/duflor.gui/reference/convert_pixels_to_area_gui.html
+https://Claudius-Appel.github.io/duflor.gui/reference/correct_distortion.htmlhttps://Claudius-Appel.github.io/duflor.gui/reference/dev_key_handler.htmlhttps://Claudius-Appel.github.io/duflor.gui/reference/dot-main_args.htmlhttps://Claudius-Appel.github.io/duflor.gui/reference/duflor_gui.html
diff --git a/man/correct_distortion.Rd b/man/correct_distortion.Rd
new file mode 100644
index 0000000..e9b07ea
--- /dev/null
+++ b/man/correct_distortion.Rd
@@ -0,0 +1,36 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/correct_distortion.R
+\name{correct_distortion}
+\alias{correct_distortion}
+\title{correct for (barrel-) distortion}
+\usage{
+correct_distortion(
+ pixel.idx,
+ distortions,
+ image_dimensions,
+ do_crop_image,
+ x0,
+ y0
+)
+}
+\arguments{
+\item{pixel.idx}{matrix of pixel-coordinate pairs for matched pixels.}
+
+\item{distortions}{list of distortion-factors to apply. Values must be numeric, on a scale from -100 <> +100
+Currently, only \code{barrel}-distortion can be applied.}
+
+\item{image_dimensions}{actual dimensions of the image, without cropping.}
+
+\item{do_crop_image}{boolean to check if the image was cropped.}
+
+\item{x0}{coordinates of the cropping top left corner. Necessary to correct coordinate-space for cropping.}
+
+\item{y0}{''}
+}
+\value{
+sum of distortion-corrected pixels, rounded to the closest integer value.
+}
+\description{
+correct for (barrel-) distortion
+}
+\keyword{internal}