for key in self . sliders [ 'transforms' ]:
tran_layout = QHBoxLayout ()
tran_layout . addWidget ( self . widget_controls [ 'slider' ][ key ][ 'label' ])
- tran_layout . addWidget ( self . widget_controls [ 'slider' ][ key ][ 'data' ])
tran_layout . addWidget ( self . widget_controls [ 'slider' ][ key ][ 'value' ])
+ _min = QHBoxLayout ()
+ _min . addWidget ( self . sliders [ 'transforms' ][ key ][ 'min_edit' ])
+ _min . addStretch ( 0 )
+ tran_layout . addLayout ( _min )
+ tran_layout . addWidget ( self . widget_controls [ 'slider' ][ key ][ 'data' ])
+ _max = QHBoxLayout ()
+ _max . addWidget ( self . sliders [ 'transforms' ][ key ][ 'max_edit' ])
+ _max . addStretch ( 0 )
+ tran_layout . addLayout ( _max )
image_controls . addLayout ( tran_layout )
image_controls . addStretch ()
reset_button = QHBoxLayout ()
diff --git a/docs/_build/html/_modules/IQM_Vis/UI/widgets.html b/docs/_build/html/_modules/IQM_Vis/UI/widgets.html
index 05d018c..10d2d5d 100644
--- a/docs/_build/html/_modules/IQM_Vis/UI/widgets.html
+++ b/docs/_build/html/_modules/IQM_Vis/UI/widgets.html
@@ -92,7 +92,7 @@ Source code for IQM_Vis.UI.widgets
import numpy as np
from PyQt6.QtWidgets import QPushButton , QLabel , QSlider , QCheckBox , QComboBox , QLineEdit
-from PyQt6.QtGui import QIntValidator , QDoubleValidator , QPalette
+from PyQt6.QtGui import QIntValidator , QDoubleValidator
from PyQt6.QtCore import Qt , pyqtSlot
import IQM_Vis
@@ -302,20 +302,46 @@ Source code for IQM_Vis.UI.widgets
sliders_dict [ key ][ 'function' ] = info_item [ 'function' ]
if 'init_value' not in info_item . keys ():
info_item [ 'init_value' ] = 0
+ sliders_dict [ key ][ 'init_value_store' ] = info_item [ 'init_value' ]
if 'values' in info_item . keys ():
sliders_dict [ key ][ 'values' ] = info_item [ 'values' ]
else :
if 'num_values' not in info_item . keys ():
info_item [ 'num_values' ] = 41 # make default value for steps in slider range
- sliders_dict [ key ][ 'values' ] = np . linspace ( info_item [ 'min' ], info_item [ 'max' ], info_item [ 'num_values' ])
# see if we need to make odd numbers (for use with kernel sizes)
if 'normalise' in info_item . keys ():
- if info_item [ 'normalise' ] == 'odd' :
- sliders_dict [ key ][ 'values' ] = np . round ( sliders_dict [ key ][ 'values' ])
- sliders_dict [ key ][ 'values' ] = sliders_dict [ key ][ 'values' ][ sliders_dict [ key ][ 'values' ] % 2 == 1 ]
- info_item [ 'num_values' ] = len ( sliders_dict [ key ][ 'values' ])
- # get ind of the initial value to set the slider at
- sliders_dict [ key ][ 'init_ind' ] = np . searchsorted ( sliders_dict [ key ][ 'values' ], info_item [ 'init_value' ], side = 'left' )
+ # store for if min/max changed later
+ sliders_dict [ key ][ 'normalise' ] = info_item [ 'normalise' ]
+ self . make_slider_range ( sliders_dict , key , info_item [ 'min' ], info_item [ 'max' ], info_item [ 'num_values' ])
+
+ # store num steps used
+ sliders_dict [ key ][ 'default_num_steps' ] = len ( sliders_dict [ key ][ 'values' ])
+ # make min/max inputs
+ sliders_dict [ key ][ 'min_edit' ] = QLineEdit ()
+ # sliders_dict[key]['min_edit'].setStretch(0)
+ sliders_dict [ key ][ 'min_edit' ] . setValidator ( QDoubleValidator ())
+ sliders_dict [ key ][ 'min_edit' ] . setText ( f " { min ( sliders_dict [ key ][ 'values' ]) } " )
+ sliders_dict [ key ][ 'min_edit' ] . editingFinished . connect ( partial ( self . edit_slider_vals , sliders_dict , key , info_item ))
+ sliders_dict [ key ][ 'min_edit' ] . editingFinished . connect ( partial ( self . generic_value_change , key , param_group ))
+ sliders_dict [ key ][ 'min_edit' ] . editingFinished . connect ( self . display_images )
+ sliders_dict [ key ][ 'max_edit' ] = QLineEdit ()
+ sliders_dict [ key ][ 'max_edit' ] . setValidator ( QDoubleValidator ())
+ sliders_dict [ key ][ 'max_edit' ] . setText ( f " { max ( sliders_dict [ key ][ 'values' ]) } " )
+ sliders_dict [ key ][ 'max_edit' ] . editingFinished . connect ( partial ( self . edit_slider_vals , sliders_dict , key , info_item ))
+ sliders_dict [ key ][ 'max_edit' ] . editingFinished . connect ( partial ( self . generic_value_change , key , param_group ))
+ sliders_dict [ key ][ 'max_edit' ] . editingFinished . connect ( self . display_images )
+
+
def _init_image_settings ( self ):
self . widget_settings = {}
@@ -426,6 +452,13 @@ Source code for IQM_Vis.UI.widgets
self . params_from_sliders [ param_group ][ key ] = self . sliders [ param_group ][ key ][ 'values' ][ index ]
self . display_slider_num ( key , param_group ) # display the new value ont UI
+
+
[docs] def display_slider_num ( self , key , param_group , disp_len = 5 ):
# display the updated value
value_str = str ( self . params_from_sliders [ param_group ][ key ])
diff --git a/docs/_build/html/_modules/IQM_Vis/examples/new_api.html b/docs/_build/html/_modules/IQM_Vis/examples/new_api.html
new file mode 100644
index 0000000..663ad11
--- /dev/null
+++ b/docs/_build/html/_modules/IQM_Vis/examples/new_api.html
@@ -0,0 +1,147 @@
+
+
+
+
+
+
IQM_Vis.examples.new_api — IQM-Vis 0.2 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ IQM-Vis
+
+
+
+
+
+
+
+
+
Source code for IQM_Vis.examples.new_api
+''' KODAK dataset '''
+import os
+import glob
+import IQM_Vis
+
+[docs] def run ():
+
# file_path = os.path.dirname(os.path.abspath(__file__))
+
# dir = os.path.join(file_path, 'KODAK-dataset')
+
+
dir = os . path . join ( os . path . expanduser ( '~' ), 'Desktop' , 'demo' )
+
image_list = glob . glob ( os . path . join ( dir , '*' ))
+
# remove and folders
+
image_list = [ f for f in image_list if os . path . isfile ( f )]
+
image_list . sort ()
+
+
metrs = IQM_Vis . metrics . get_all_metrics ()
+
metrs . pop ( '1-MS_SSIM' )
+
+
metr_ims = IQM_Vis . metrics . get_all_metric_images ()
+
metr_ims . pop ( 'MSE' )
+
+
IQM_Vis . make_UI ( transformations = IQM_Vis . transformations . get_all_transforms (),
+
image_list = image_list ,
+
metrics = metrs ,
+
metric_images = metr_ims ,
+
restrict_options = 3
+
)
+
IQM_Vis . make_UI ()
+
+if __name__ == '__main__' :
+ run ()
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/_build/html/_modules/IQM_Vis/ui_wrapper.html b/docs/_build/html/_modules/IQM_Vis/ui_wrapper.html
index 6096c1f..b1c0fb9 100644
--- a/docs/_build/html/_modules/IQM_Vis/ui_wrapper.html
+++ b/docs/_build/html/_modules/IQM_Vis/ui_wrapper.html
@@ -101,6 +101,7 @@
Source code for IQM_Vis.ui_wrapper
import IQM_Vis
from IQM_Vis.UI.main import make_app
from IQM_Vis.utils import image_utils
+ from IQM_Vis.examples.images import DEFAULT_IMAGES
import matplotlib
matplotlib . use ( "Qt5Agg" )
except ImportError :
@@ -110,6 +111,9 @@ Source code for IQM_Vis.ui_wrapper
def __init__ ( self ,
data_store = None ,
transformations = None ,
+ image_list : list = DEFAULT_IMAGES ,
+ metrics : dict = {},
+ metric_images : dict = {},
metrics_info_format : str = 'graph' ,
metrics_avg_graph : bool = True ,
metric_params : dict = {},
@@ -117,6 +121,10 @@ Source code for IQM_Vis.ui_wrapper
restrict_options = None ,
num_steps_range = 11 ,
debug = False ):
+ if data_store == None :
+ data_store = IQM_Vis . dataset_holder ( image_list ,
+ metrics ,
+ metric_images )
self . data_store = data_store
self . transformations = transformations
self . metrics_info_format = metrics_info_format
diff --git a/docs/_build/html/_modules/index.html b/docs/_build/html/_modules/index.html
index 40f93c1..df38716 100644
--- a/docs/_build/html/_modules/index.html
+++ b/docs/_build/html/_modules/index.html
@@ -99,6 +99,7 @@ All modules for which code is available
IQM_Vis.examples.experiment
IQM_Vis.examples.kodak
IQM_Vis.examples.multiple
+
IQM_Vis.examples.new_api
IQM_Vis.examples.simple
IQM_Vis.metrics
IQM_Vis.metrics.IQMs
diff --git a/docs/_build/html/_sources/IQM_Vis.examples.rst.txt b/docs/_build/html/_sources/IQM_Vis.examples.rst.txt
index 753377b..d7e5ea7 100644
--- a/docs/_build/html/_sources/IQM_Vis.examples.rst.txt
+++ b/docs/_build/html/_sources/IQM_Vis.examples.rst.txt
@@ -60,6 +60,14 @@ IQM\_Vis.examples.multiple module
:undoc-members:
:show-inheritance:
+IQM\_Vis.examples.new\_api module
+---------------------------------
+
+.. automodule:: IQM_Vis.examples.new_api
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
IQM\_Vis.examples.simple module
-------------------------------
diff --git a/docs/_build/html/_sources/getting_started.rst.txt b/docs/_build/html/_sources/getting_started.rst.txt
index d4806b6..8b23593 100644
--- a/docs/_build/html/_sources/getting_started.rst.txt
+++ b/docs/_build/html/_sources/getting_started.rst.txt
@@ -41,6 +41,10 @@ Common Issues
=============
There are some know issues with some work arounds.
+There are some dependancy conflicts with python 3.11, we recommend 3.9 or 3.10.
+If you require python 3.11, you will need to unpin the dependancy versions in the requirements.txt and install the latest versions which will fix the issue but note this is untested and may be unstable.
+
+
If you are getting the error
.. code-block:: bash
diff --git a/docs/_build/html/_sources/notebooks/Tutorial_2-Customisation.ipynb.txt b/docs/_build/html/_sources/notebooks/Tutorial_2-Customisation.ipynb.txt
index 0ed739a..490f502 100644
--- a/docs/_build/html/_sources/notebooks/Tutorial_2-Customisation.ipynb.txt
+++ b/docs/_build/html/_sources/notebooks/Tutorial_2-Customisation.ipynb.txt
@@ -138,27 +138,7 @@
"metadata": {},
"source": [
"## Putting it all together\n",
- "First we need to bundle up the images and metrics in a datastore"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 6,
- "id": "171060e6",
- "metadata": {},
- "outputs": [],
- "source": [
- "data = IQM_Vis.dataset_holder(images,\n",
- " metrics,\n",
- " metric_images)"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "cb8a3088",
- "metadata": {},
- "source": [
- "Now we need to pass everything to the UI maker"
+ "We need to pass everything to the UI maker"
]
},
{
@@ -168,8 +148,10 @@
"metadata": {},
"outputs": [],
"source": [
- "IQM_Vis.make_UI(data,\n",
- " transformations)"
+ "IQM_Vis.make_UI(transformations=transformations,\n",
+ " image_list=images,\n",
+ " metrics=metrics,\n",
+ " metric_images=metric_images)"
]
},
{
diff --git a/docs/_build/html/_sources/notebooks/Tutorial_3-Advanced-Customisations.ipynb.txt b/docs/_build/html/_sources/notebooks/Tutorial_3-Advanced-Customisations.ipynb.txt
index d24869b..40f1a22 100644
--- a/docs/_build/html/_sources/notebooks/Tutorial_3-Advanced-Customisations.ipynb.txt
+++ b/docs/_build/html/_sources/notebooks/Tutorial_3-Advanced-Customisations.ipynb.txt
@@ -197,10 +197,10 @@
"source": [
"images = ['/home/matt/datasets/kodak/kodim01.png', \n",
" '/home/matt/datasets/kodak/kodim02.png']\n",
- "data = IQM_Vis.dataset_holder(images,\n",
- " metrics)\n",
- "IQM_Vis.make_UI(data,\n",
- " transformations,\n",
+ "\n",
+ "IQM_Vis.make_UI(transformations=transformations,\n",
+ " image_list=images,\n",
+ " metrics=metrics,\n",
" metric_params=params)"
]
},
diff --git a/docs/_build/html/genindex.html b/docs/_build/html/genindex.html
index 3951a39..263c5f8 100644
--- a/docs/_build/html/genindex.html
+++ b/docs/_build/html/genindex.html
@@ -309,10 +309,12 @@ D
E
@@ -551,6 +553,13 @@ I
+
+ IQM_Vis.examples.new_api
+
+
@@ -567,6 +576,8 @@ I
module
+
+
IQM_Vis.metrics.IQMs
@@ -574,8 +585,6 @@ I
module
-
-
-
+
+
+
+
+ IQM_Vis.examples.new_api
+
diff --git a/docs/_build/html/searchindex.js b/docs/_build/html/searchindex.js
index 61a08d7..5f7e9d9 100644
--- a/docs/_build/html/searchindex.js
+++ b/docs/_build/html/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["IQM_Vis","IQM_Vis.UI","IQM_Vis.data_handlers","IQM_Vis.examples","IQM_Vis.examples.images","IQM_Vis.metrics","IQM_Vis.transformations","IQM_Vis.utils","Tutorials","about","getting_started","index","modules","notebooks/Tutorial_1-making_the_UI","notebooks/Tutorial_2-Customisation","notebooks/Tutorial_3-Advanced-Customisations","notebooks/Tutorial_4-running_an_experiment","what-are-IQMs"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":5,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.viewcode":1,nbsphinx:4,sphinx:56},filenames:["IQM_Vis.rst","IQM_Vis.UI.rst","IQM_Vis.data_handlers.rst","IQM_Vis.examples.rst","IQM_Vis.examples.images.rst","IQM_Vis.metrics.rst","IQM_Vis.transformations.rst","IQM_Vis.utils.rst","Tutorials.rst","about.rst","getting_started.rst","index.rst","modules.rst","notebooks/Tutorial_1-making_the_UI.ipynb","notebooks/Tutorial_2-Customisation.ipynb","notebooks/Tutorial_3-Advanced-Customisations.ipynb","notebooks/Tutorial_4-running_an_experiment.ipynb","what-are-IQMs.rst"],objects:{"":[[0,0,0,"-","IQM_Vis"]],"IQM_Vis.UI":[[1,0,0,"-","custom_widgets"],[1,0,0,"-","experiment_mode"],[1,0,0,"-","images"],[1,0,0,"-","layout"],[1,0,0,"-","main"],[1,0,0,"-","threads"],[1,0,0,"-","utils"],[1,0,0,"-","widgets"]],"IQM_Vis.UI.custom_widgets":[[1,1,1,"","ClickLabel"],[1,1,1,"","ProgressBar"]],"IQM_Vis.UI.custom_widgets.ClickLabel":[[1,2,1,"","clicked"],[1,3,1,"","mousePressEvent"]],"IQM_Vis.UI.experiment_mode":[[1,1,1,"","make_experiment"],[1,4,1,"","make_name_for_trans"],[1,1,1,"","reset_image_widget_to_black"],[1,4,1,"","sort_list"]],"IQM_Vis.UI.experiment_mode.make_experiment":[[1,3,1,"","calc_max_comparisons"],[1,3,1,"","change_experiment_images"],[1,3,1,"","click_completed"],[1,3,1,"","clicked_image"],[1,3,1,"","closeEvent"],[1,3,1,"","experiment_layout"],[1,3,1,"","finish_experiment"],[1,3,1,"","get_all_images"],[1,3,1,"","get_metric_scores"],[1,3,1,"","get_single_transform_im"],[1,3,1,"","init_style"],[1,3,1,"","partition"],[1,3,1,"","quick_sort"],[1,3,1,"","quit"],[1,2,1,"","reset_clicked_image"],[1,3,1,"","reset_experiment"],[1,3,1,"","save_experiment"],[1,2,1,"","saved_experiment"],[1,3,1,"","setup_experiment"],[1,3,1,"","show_all_images"],[1,3,1,"","start_experiment"],[1,3,1,"","swap_inds"],[1,3,1,"","toggle_experiment"]],"IQM_Vis.UI.experiment_mode.reset_image_widget_to_black":[[1,3,1,"","change_to_solid"],[1,2,1,"","completed"],[1,3,1,"","stop"]],"IQM_Vis.UI.images":[[1,1,1,"","images"],[1,4,1,"","message_on_plot"]],"IQM_Vis.UI.images.images":[[1,3,1,"","change_data"],[1,3,1,"","change_metric_correlations_graph"],[1,3,1,"","change_metric_range_graph"],[1,3,1,"","change_to_data_num"],[1,3,1,"","change_to_specific_trans"],[1,3,1,"","completed_range_results"],[1,3,1,"","display_images"],[1,3,1,"","display_metric_correlation_plot"],[1,3,1,"","display_metric_images"],[1,3,1,"","display_metric_range_plot"],[1,3,1,"","display_metrics"],[1,3,1,"","display_metrics_graph"],[1,3,1,"","display_metrics_text"],[1,3,1,"","display_radar_plots"],[1,3,1,"","get_metrics_over_all_trans_with_init_values"],[1,3,1,"","init_worker_thread"],[1,3,1,"","load_experiment_from_dir"],[1,3,1,"","load_human_experiment"],[1,3,1,"","load_new_images_folder"],[1,3,1,"","load_new_single_image"],[1,3,1,"","plot_radar_graph"],[1,3,1,"","redo_plots"],[1,2,1,"","request_range_work"],[1,3,1,"","stopped_range_worker"],[1,3,1,"","update_datastore_image_list"],[1,2,1,"","view_correlation_instance"]],"IQM_Vis.UI.layout":[[1,1,1,"","layout"]],"IQM_Vis.UI.layout.layout":[[1,3,1,"","init_layout"],[1,3,1,"","init_style"]],"IQM_Vis.UI.main":[[1,1,1,"","make_app"],[1,4,1,"","set_checked_menu_from_iterable"]],"IQM_Vis.UI.main.make_app":[[1,3,1,"","change_save_folder"],[1,3,1,"","closeEvent"],[1,3,1,"","construct_UI"],[1,3,1,"","get_menu_checkboxes"],[1,3,1,"","load_all_metric_images"],[1,3,1,"","load_all_metrics"],[1,3,1,"","load_all_transforms"],[1,3,1,"","make_menu"],[1,3,1,"","make_status_bar"],[1,3,1,"","quit"],[1,3,1,"","reset_correlation_data"]],"IQM_Vis.UI.threads":[[1,1,1,"","get_range_results_worker"]],"IQM_Vis.UI.threads.get_range_results_worker":[[1,2,1,"","completed"],[1,2,1,"","current_image"],[1,3,1,"","do_work"],[1,2,1,"","progress"],[1,3,1,"","stop"],[1,2,1,"","stopped"]],"IQM_Vis.UI.utils":[[1,4,1,"","add_layout_to_tab"]],"IQM_Vis.UI.widgets":[[1,1,1,"","widgets"]],"IQM_Vis.UI.widgets.widgets":[[1,3,1,"","change_display_im_display_brightness"],[1,3,1,"","change_display_im_rgb_brightness"],[1,3,1,"","change_display_im_size"],[1,3,1,"","change_graph_size"],[1,3,1,"","change_human_scores_after_exp"],[1,3,1,"","change_num_steps"],[1,3,1,"","change_plot_lims"],[1,3,1,"","change_post_processing"],[1,3,1,"","change_pre_processing"],[1,3,1,"","change_text_exp_trans"],[1,3,1,"","disable_settings_button"],[1,3,1,"","display_slider_num"],[1,3,1,"","enable_settings_button"],[1,3,1,"","generic_value_change"],[1,3,1,"","init_widgets"],[1,3,1,"","launch_experiment"],[1,3,1,"","reset_slider_group"],[1,3,1,"","reset_sliders"],[1,3,1,"","set_image_name_text"],[1,3,1,"","update_image_settings"],[1,3,1,"","update_progress"],[1,3,1,"","update_status_bar"]],"IQM_Vis.data_handlers":[[2,0,0,"-","data_api"],[2,0,0,"-","data_api_abstract"]],"IQM_Vis.data_handlers.data_api":[[2,1,1,"","cache_metric_call"],[2,1,1,"","dataset_holder"],[2,4,1,"","get_image_name"]],"IQM_Vis.data_handlers.data_api.cache_metric_call":[[2,3,1,"","__call__"]],"IQM_Vis.data_handlers.data_api.dataset_holder":[[2,3,1,"","add_metric"],[2,3,1,"","add_metric_image"],[2,3,1,"","get_image_dataset_list"],[2,3,1,"","get_image_to_transform"],[2,3,1,"","get_image_to_transform_name"],[2,3,1,"","get_metric_images"],[2,3,1,"","get_metrics"],[2,3,1,"","get_reference_image"],[2,3,1,"","get_reference_image_name"],[2,3,1,"","get_reference_unprocessed"],[2,3,1,"","load_image_list"]],"IQM_Vis.data_handlers.data_api_abstract":[[2,1,1,"","base_dataloader"],[2,1,1,"","base_dataset_loader"]],"IQM_Vis.data_handlers.data_api_abstract.base_dataloader":[[2,3,1,"","get_image_to_transform"],[2,3,1,"","get_image_to_transform_name"],[2,3,1,"","get_metric_images"],[2,3,1,"","get_metrics"],[2,3,1,"","get_reference_image"],[2,3,1,"","get_reference_image_name"],[2,5,1,"","metric_images"],[2,5,1,"","metrics"]],"IQM_Vis.examples":[[3,0,0,"-","all"],[3,0,0,"-","dataset"],[3,0,0,"-","dists"],[3,0,0,"-","experiment"],[4,0,0,"-","images"],[3,0,0,"-","kodak"],[3,0,0,"-","multiple"],[3,0,0,"-","simple"]],"IQM_Vis.examples.all":[[3,4,1,"","run"]],"IQM_Vis.examples.dataset":[[3,4,1,"","run"]],"IQM_Vis.examples.dists":[[3,4,1,"","correct"],[3,4,1,"","load_and_calibrate_image"],[3,4,1,"","run"]],"IQM_Vis.examples.experiment":[[3,4,1,"","run"]],"IQM_Vis.examples.kodak":[[3,4,1,"","run"]],"IQM_Vis.examples.multiple":[[3,4,1,"","run"]],"IQM_Vis.examples.simple":[[3,4,1,"","run"]],"IQM_Vis.metrics":[[5,0,0,"-","IQMs"],[5,4,1,"","get_all_IQM_params"],[5,4,1,"","get_all_metric_images"],[5,4,1,"","get_all_metrics"]],"IQM_Vis.metrics.IQMs":[[5,1,1,"","DISTS"],[5,1,1,"","LPIPS"],[5,1,1,"","MAE"],[5,1,1,"","MSE"],[5,1,1,"","MS_SSIM"],[5,1,1,"","NLPD"],[5,1,1,"","SSIM"],[5,4,1,"","make_kernel_odd"],[5,1,1,"","one_over_PSNR"]],"IQM_Vis.metrics.IQMs.DISTS":[[5,3,1,"","__call__"]],"IQM_Vis.metrics.IQMs.LPIPS":[[5,3,1,"","__call__"]],"IQM_Vis.metrics.IQMs.MAE":[[5,3,1,"","__call__"]],"IQM_Vis.metrics.IQMs.MSE":[[5,3,1,"","__call__"]],"IQM_Vis.metrics.IQMs.MS_SSIM":[[5,3,1,"","__call__"]],"IQM_Vis.metrics.IQMs.NLPD":[[5,3,1,"","__call__"]],"IQM_Vis.metrics.IQMs.SSIM":[[5,3,1,"","__call__"]],"IQM_Vis.metrics.IQMs.one_over_PSNR":[[5,3,1,"","__call__"]],"IQM_Vis.transformations":[[6,4,1,"","get_all_transforms"],[6,0,0,"-","transforms"]],"IQM_Vis.transformations.transforms":[[6,4,1,"","Gaussian_noise"],[6,4,1,"","binary_threshold"],[6,4,1,"","blur"],[6,4,1,"","brightness"],[6,4,1,"","brightness_hsv"],[6,4,1,"","contrast"],[6,4,1,"","hue"],[6,4,1,"","jpeg_compression"],[6,4,1,"","rotation"],[6,4,1,"","salt_and_pepper_noise"],[6,4,1,"","saturation"],[6,4,1,"","x_shift"],[6,4,1,"","y_shift"],[6,4,1,"","zoom_image"]],"IQM_Vis.ui_wrapper":[[0,1,1,"","make_UI"],[0,4,1,"","test_datastore_attributes"],[0,1,1,"","transform_wrapper"]],"IQM_Vis.ui_wrapper.make_UI":[[0,3,1,"","show"]],"IQM_Vis.ui_wrapper.transform_wrapper":[[0,3,1,"","__call__"]],"IQM_Vis.utils":[[7,0,0,"-","gui_utils"],[7,0,0,"-","image_utils"],[7,0,0,"-","plot_utils"],[7,0,0,"-","save_utils"]],"IQM_Vis.utils.gui_utils":[[7,1,1,"","MplCanvas"],[7,4,1,"","change_im"],[7,4,1,"","get_image_pair_name"],[7,4,1,"","get_metric_image_name"],[7,4,1,"","get_resolutions"],[7,4,1,"","get_trans_dict_from_str"],[7,4,1,"","get_transformed_image_name"],[7,4,1,"","str_to_len"]],"IQM_Vis.utils.image_utils":[[7,4,1,"","calibrate_brightness"],[7,4,1,"","crop_centre"],[7,4,1,"","get_transform_image"],[7,4,1,"","load_image"],[7,4,1,"","resize_image"],[7,4,1,"","resize_to_longest_side"],[7,4,1,"","save_image"]],"IQM_Vis.utils.plot_utils":[[7,1,1,"","bar_plotter"],[7,4,1,"","click_scatter"],[7,4,1,"","compute_metric_for_human_correlation"],[7,4,1,"","compute_metrics_over_range"],[7,4,1,"","compute_metrics_over_range_single_trans"],[7,4,1,"","get_all_single_transform_params"],[7,4,1,"","get_all_slider_values"],[7,4,1,"","get_correlation_plot"],[7,4,1,"","get_radar_plots_avg_plots"],[7,4,1,"","get_transform_range_plots"],[7,4,1,"","hover_scatter"],[7,1,1,"","line_plotter"],[7,1,1,"","radar_plotter"],[7,1,1,"","scatter_plotter"],[7,4,1,"","update_annot"]],"IQM_Vis.utils.plot_utils.bar_plotter":[[7,3,1,"","plot"],[7,3,1,"","set_plot_lims"],[7,3,1,"","set_style"],[7,3,1,"","show"]],"IQM_Vis.utils.plot_utils.line_plotter":[[7,3,1,"","plot"],[7,3,1,"","set_plot_lims"],[7,3,1,"","set_style"],[7,3,1,"","show"]],"IQM_Vis.utils.plot_utils.radar_plotter":[[7,3,1,"","plot"],[7,3,1,"","set_plot_lims"],[7,3,1,"","set_style"],[7,3,1,"","show"]],"IQM_Vis.utils.plot_utils.scatter_plotter":[[7,3,1,"","plot"],[7,3,1,"","set_plot_lims"],[7,3,1,"","set_style"],[7,3,1,"","show"]],"IQM_Vis.utils.save_utils":[[7,6,1,"","DEFAULT_SAVE_DIR"],[7,4,1,"","get_IQM_file"],[7,4,1,"","get_human_scores_file"],[7,4,1,"","get_human_times_file"],[7,4,1,"","get_image_name_from_human_scores"],[7,4,1,"","get_image_processing_file"],[7,4,1,"","get_original_image_file"],[7,4,1,"","get_original_unprocessed_image_file"],[7,4,1,"","get_transform_functions_file"],[7,4,1,"","get_transform_params_file"],[7,4,1,"","load_json_dict"],[7,4,1,"","load_obj"],[7,4,1,"","save_and_merge_df_as_csv"],[7,4,1,"","save_df_as_csv"],[7,4,1,"","save_experiment_results"],[7,4,1,"","save_json_dict"],[7,4,1,"","save_obj"]],IQM_Vis:[[1,0,0,"-","UI"],[2,0,0,"-","data_handlers"],[3,0,0,"-","examples"],[5,0,0,"-","metrics"],[6,0,0,"-","transformations"],[0,0,0,"-","ui_wrapper"],[7,0,0,"-","utils"]]},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","attribute","Python attribute"],"3":["py","method","Python method"],"4":["py","function","Python function"],"5":["py","property","Python property"],"6":["py","data","Python data"]},objtypes:{"0":"py:module","1":"py:class","2":"py:attribute","3":"py:method","4":"py:function","5":"py:property","6":"py:data"},terms:{"0":[0,1,5,6,7,10,13,14,15],"01":5,"03":5,"1":[0,1,5,6,7,10,11,14,15],"100":[6,7,14],"101":6,"11":[0,1,5,7,10],"128":7,"13":10,"14":10,"180":[5,14],"2":[6,7,11,15],"200":3,"2016_hvei":5,"250":7,"255":6,"256":3,"2x":[6,7],"3":[7,10,11,14],"300":1,"39":14,"4":[5,11,14,15],"41":14,"5":[1,5,6,7,13,14,15],"6":[1,14,15],"7":[6,10,15],"8":15,"9":10,"90":6,"abstract":2,"byte":2,"class":[0,1,2,5,7,15],"default":[2,5,6,7,13,15],"do":[2,7,9,10,11,13],"float":[6,7,14,15],"function":[0,1,2,6,7,13,14,15,17],"import":[10,13,14,15,17],"int":[6,14],"new":[1,10,13],"return":[0,5,6,7,14,15,16],"true":[0,1,3,5,7,14],"try":10,A:15,For:[2,14,15],If:[2,10,16],In:[13,14,15,16,17],It:[5,9,10,17],On:16,The:[5,9,13,16,17],Then:15,There:[10,17],These:[11,14,17],To:[13,14,16],__call__:[0,2,5,15],__init__:15,_plot:7,_redo_plot:1,a_tran:1,ab:15,abc:2,abl:11,about:[1,15],abov:15,absolut:5,acceler:9,access:[0,9],accord:17,achiev:[2,9],across:7,action_stor:1,activ:10,ad:[6,9,14],add:[1,6,13,15],add_layout_to_tab:1,add_metr:2,add_metric_imag:2,adher:17,adjust:[6,13,15],advanc:15,advantag:9,after:[2,7,13],against:[9,16],aim:17,al:5,alex:5,algorithm:[9,16,17],align:5,all:[0,1,2,5,6,7,12,13,16],all_metr:5,all_param:5,alongsid:[1,6],alreadi:2,also:[9,10,14,15,17],amount:6,an:[0,1,2,5,6,9,13,14],anaconda:10,analys:[9,11],analysi:[1,9,14],angl:6,ani:[9,11,13,15],annot:7,anyth:15,api:[0,2],app:1,append_char:7,append_dataset:1,appli:[1,2,13,17],apt:10,ar:[0,1,2,5,6,9,10,11,15,16,17],arbitrari:5,area:6,arg:[0,1,15],argument:[5,15],around:[6,10],arr:2,arrai:[1,2,5,6,7,15],aspect:14,associ:5,att:15,attempt:17,attribut:[0,15],automat:9,avaiabl:3,avail:[5,6],ax:7,b:[6,13,16],b_tran:1,backend:[5,7,9],backend_qtagg:7,bar:13,bar_nam:7,bar_plott:7,base:[0,1,2,5,7],base_dataload:2,base_dataset_load:2,basic:14,batch:5,been:2,befor:[13,14],behav:11,behaviour:17,being:[7,17],below:5,benchmark:17,best:[7,17],better:6,between:[0,1,5,17],beyond:6,binari:6,binary_threshold:6,black:[1,6,13],blank:13,blueprint:2,blur:[6,14],boarder:13,bool:[0,5,7],both:[2,17],bound:15,box:9,bright:[6,14,15],brightness_hsv:6,buffer:2,bundl:14,button:[1,16],c:10,cach:2,cache_metric_cal:2,calc_max_comparison:1,calc_rang:1,calcul:[1,2,9,13],calibr:[9,16],calibrate_bright:7,call:[0,2,5,13,15],callabl:[2,15],can:[1,9,10,11,13,14,15,16,17],candela:13,capabilit:9,captur:17,categoris:17,centr:[6,7],chang:[1,7,10,13,14],change_data:1,change_display_im_display_bright:1,change_display_im_rgb_bright:1,change_display_im_s:1,change_experiment_imag:1,change_graph_s:1,change_human_scores_after_exp:1,change_im:7,change_metric_correlations_graph:1,change_metric_range_graph:1,change_num_step:1,change_plot_lim:1,change_post_process:1,change_pre_process:1,change_save_fold:1,change_text_exp_tran:1,change_to_data_num:1,change_to_solid:1,change_to_specific_tran:1,change_trans_value_sign:7,checkbox:1,checked_metr:1,checked_transformation_param:1,choos:5,clash:10,click:[1,7,13,16],click_complet:1,click_scatt:7,clickabl:1,clicked_imag:1,clicklabel:1,clip:[6,15],closeev:1,code:[5,7,10],collect:9,colour:1,com:[5,13,14,15,16],commun:2,comp:14,compar:[9,14,16,17],comparison:[5,9,15],compat:5,complet:1,completed_range_result:1,comprehens:11,compress:6,comput:[7,13],compute_metric_for_human_correl:7,compute_metrics_over_rang:7,compute_metrics_over_range_single_tran:7,conda:10,conduct:[9,11],conform:[9,11],connect_func:1,consist:17,construct_ui:1,constructor:2,contain:[7,13,16],content:12,context:17,contrast:6,control:5,conveni:9,conver:6,convert:[2,6],convolut:6,copi:13,correct:[0,3,9,16],correl:[7,9,16,17],correspond:[7,13,16],could:10,cover:9,creat:[1,10,17],crop:[2,7,9,13],crop_centr:7,crope:7,crucial:9,css_file:1,csv:[7,16],cuda:10,current:7,current_imag:1,cursor0:10,custom:[1,9,14,15],custom_bright:15,custom_mae_class:15,custom_mae_funct:15,custom_widget:[0,12],customis:[11,16],data:[0,1,2,7,9,11,14,15,17],data_api:[0,7,12],data_api_abstract:[0,12],data_handl:[0,12],data_stor:[0,1,7],dataset:[0,1,7,9,12,15],dataset_hold:[2,14,15],datastor:14,debug:0,decod:6,decreas:6,deep:[5,17],def:15,default_save_dir:[0,1,7],defin:[14,15],degre:6,demonstr:[10,11],depend:10,depth:11,design:9,desir:[9,14],despit:17,detail:[9,11],develop:9,deviat:6,df:7,dict:[0,1,2,5,6,7],dict_:7,dictionari:[2,14,15],differ:[2,10,11],digit:6,dimens:5,dingkeyan93:5,dir:7,directori:13,disable_settings_button:1,disagre:16,disp_len:1,displai:[9,16],display_bright:[1,7],display_imag:1,display_metr:1,display_metric_correlation_plot:1,display_metric_imag:1,display_metric_range_plot:1,display_metrics_graph:1,display_metrics_text:1,display_radar_plot:1,display_slider_num:1,dissimilar:5,dist:[0,5,12],distanc:17,distor:11,distort:[6,9,11,14,15,17],do_work:1,doc:[0,7,13,14,15,16],document:[9,14],don:10,down:1,download:10,downsiz:5,dpi:7,drop:1,dummi:15,dummy_arg:15,e:[5,10,11,13,15,17],each:[6,7],earli:5,effect:11,element:1,empir:17,en:5,enabl:9,enable_settings_button:1,encod:6,entri:1,environ:10,error:[5,7,10,15,17],es:5,et:5,etc:[0,16],euclidean:17,evalu:[5,9,11,17],event:[1,7],everyth:[14,16],exactli:15,exampl:[0,2,5,10,12,14,15,17],expand:15,expect:11,expens:17,experi:[0,1,7,11,12,17],experiment:17,experiment_layout:1,experiment_mod:[0,12],expos:9,extent:1,extra:[10,15],extrem:17,f:14,facilit:[9,11],fail:9,fals:[0,1,5,7],featur:[9,11],feel:14,figur:7,figurecanvasqtagg:7,file:[2,3,7,13,14,16],file_path:2,filepath:14,fill:6,finish_experi:1,first:[10,14,16,17],firstli:11,fix:7,float32:6,folder:[1,13,16],follow:15,form:[9,15],frame:7,framework:9,free:14,fresh:10,from:[1,2,5,7,9,10,13,16,17],fucntion:2,further:[9,11],g:[5,10,11,13,15],gain:5,gan:5,gather:17,gaussian:6,gaussian_nois:6,gener:[2,5,9,16],generic_value_chang:1,geometr:5,get:[0,1,5,6,7,14],get_all_imag:1,get_all_iqm_param:5,get_all_metr:5,get_all_metric_imag:5,get_all_single_transform_param:7,get_all_slider_valu:7,get_all_transform:6,get_correlation_plot:7,get_human_scores_fil:7,get_human_times_fil:7,get_image_dataset_list:2,get_image_nam:2,get_image_name_from_human_scor:7,get_image_pair_nam:7,get_image_processing_fil:7,get_image_to_transform:2,get_image_to_transform_nam:2,get_iqm_fil:7,get_menu_checkbox:1,get_metr:2,get_metric_imag:2,get_metric_image_nam:7,get_metric_scor:1,get_metrics_over_all_trans_with_init_valu:1,get_original_image_fil:7,get_original_unprocessed_image_fil:7,get_radar_plots_avg_plot:7,get_range_results_work:1,get_reference_imag:2,get_reference_image_nam:2,get_reference_unprocess:2,get_resolut:7,get_single_transform_im:1,get_trans_dict_from_str:7,get_transform_functions_fil:7,get_transform_imag:7,get_transform_params_fil:7,get_transform_range_plot:7,get_transformed_image_nam:7,getter:7,github:[5,11,13,14,15,16],give:[5,16,17],given:[1,5,6,7,17],go:[13,14,16],goal:17,gpu:[9,10],graph:[0,1,7,9,11],graphic:[9,17],greycal:3,grip:14,group:17,gui:9,gui_util:[0,12],h:6,ha:[9,16],half:7,handl:9,handler:0,hardwar:9,hashabl:2,have:[2,5,6,7,10,11,13,15,17],head:10,headless:10,helper:7,here:[15,16],high:1,higher:[1,6],highest:9,hold:7,home:[0,1,7,14,15],horizont:6,hover_scatt:7,how:[5,7,11,13,14,16],html:14,http:[1,5,13,14,15,16],hue:6,human:[16,17],human_exp_csv:2,human_scor:7,i:[1,17],ident:6,illustr:11,im:7,im_comp:[5,15],im_ref:[5,15],imag:[0,2,3,5,6,7,9,11,12,15,16,17],image1:14,image2:14,image_display_s:1,image_list:[1,2],image_list_to_transform:2,image_load:2,image_nam:1,image_path:7,image_post_process:2,image_postprocess:1,image_pre_process:2,image_preprocess:1,image_util:[0,12],img:[3,7],implement:9,improv:9,includ:[9,13,14,15],increas:6,ind:[1,7],index:[5,7,10,11,17],individu:7,info:1,inform:[14,16],init:[1,14],init_layout:1,init_styl:1,init_valu:[6,14,15],init_widget:1,init_worker_thread:1,initi:7,initialis:[1,15],input:[0,2,14,15],inspect:11,instanc:5,instead:[7,14],interact:17,interfac:9,invari:17,investig:11,io:14,ipynb:[13,14,15,16],iqm:[0,1,2,7,10,12,13,14,15,16],iqm_scores_df:7,iqm_vi:[10,11,13,14,15],item:[7,13],iter:1,its:[0,6,7],itself:17,ival:1,j:1,jpeg:[6,14],jpeg_compress:[6,14],jpg:14,just:[7,17],k1:5,k2:5,keep_siz:7,kei:[1,2,7,15],kernel:[5,6,14],kernel_s:6,keyword:5,know:10,kodak:[0,12,15],kodim01:15,kodim02:15,kwarg:[0,1,2,5,15],l1:15,label:[1,7],laparra:5,lapeva:5,laplacian:5,later:[14,15],latest:10,launch:[13,16],launch_experi:1,layout:[0,12],learn:[5,17],left:1,lend:17,length:7,less:6,let:[14,15],librari:10,libxcb:10,light:1,like:[10,15,17],lim:7,line_plott:7,link:10,linux:10,list1:1,list2:1,list:[1,2,7,14],literatur:17,littl:14,load:[2,7,10,16],load_all_metr:1,load_all_metric_imag:1,load_all_transform:1,load_and_calibrate_imag:3,load_experiment_from_dir:1,load_human_experi:1,load_imag:[2,7],load_image_list:2,load_json_dict:7,load_new_images_fold:1,load_new_single_imag:1,load_obj:7,loader:2,local:[5,14],longest:7,look:7,loss:[5,17],low:1,lower:1,lpip:5,lumin:[5,9,13,16],mae:[5,14,15],mai:[10,17],main:[0,12,13,14,15,16],main_menu:1,make:[0,7,10,11,16],make_app:1,make_experi:1,make_kernel_odd:5,make_menu:1,make_name_for_tran:1,make_status_bar:1,make_ui:[0,10,13,14,15],maker:14,maketh:1,making_the_ui:13,manag:[9,11],mani:9,matplotlib:7,matt:[0,1,7,14,15],mattclifford1:[13,14,15,16],max:[6,7,14,15],max_lumin:3,maximum:13,mean:[5,15,17],measur:[5,13,17],menu:[1,13,16],messag:1,message_on_plot:1,meta_dict:3,meter:13,method:7,metric:[0,1,2,3,7,9,11,12,16,17],metric_imag:[1,2,14],metric_param:[0,1,7,15],metric_range_graph:1,metric_scor:7,metrics_avg_graph:[0,1],metrics_info_format:[0,1],metrics_nam:7,metrics_to_us:[2,7],might:[15,16],mild:5,mimic:17,min:[6,7,14,15],mismatch:10,model:17,modul:[11,12],more:[9,14],most:16,mousepressev:1,mplcanva:7,ms_ssim:5,mse:[5,14],mse_imag:14,mssim_kernel_s:5,much:17,multi:5,multipl:[0,12],must:5,mutabl:2,n:[10,13,16],name:[1,2,6,7],navig:13,necessari:17,need:[0,1,2,7,13,14,15,16],net:1,network:5,newer:10,nlpd:5,nlpd_k:5,nois:[5,6],noise_ratio:5,non:[7,14],none:[0,1,2,7],normal:[6,7,14],normalis:[5,14],note:[5,7,15],notebook:[13,14,15,16],now:[10,14,15],np:[5,6,7,15],num_imag:1,num_step:7,num_step_experi:1,num_steps_rang:[0,1],number:[6,13],numpi:[2,7,9,15],nvidia:10,object:[0,1,2,5,7,15,17],observ:17,obtain:17,odd:[6,14],off:15,offer:11,often:[10,17],onc:16,one_over_psnr:5,onli:[6,7,13,14,16],opencv:[9,10],oper:[5,14,17],option:[2,9,14,16],order:[1,9,16],ordin:9,org:5,origin:7,other:[7,9],our:[11,15],out:[6,7,9],over:[5,7,10,13,14],overse:17,own:[14,15,16],packag:[10,11,12,14,15],packg:13,pair:[5,9],pairwis:16,paper:[5,11],param1:15,param:[1,15],param_group:1,paramet:[2,5,6,7,11,13,15,17],paramt:[7,13],particip:[9,16],particular:9,partit:1,pass:[14,15],past:13,patch:5,path:[1,2,7,14],paus:1,pbar_sign:7,pdf:5,peak:5,peak_sign:5,peel:15,peic:14,pepper:6,per:13,perceiv:[9,17],percentag:[6,7],percept:17,perceptu:[5,17],perform:[11,17],pick:9,pickl:7,pickle_path:7,pip:10,pivot:1,pixel:[5,6],pkl:7,place:13,platform:10,plethora:17,plot:[1,7,9,16],plot_radar_graph:1,plot_util:[0,12],plu:7,plugin:10,png:15,point:[1,5,7,10,16],polar:7,post:7,practition:[9,11,17],pre:9,premis:17,presenc:17,press:[1,16],pretrain:5,previou:16,principl:17,print:14,prob:6,probabl:6,procedur:11,process:[7,9,14,17],produc:[13,17],profil:17,progress:1,progressbar:1,project:[13,14],properti:[0,2,9,11],proport:6,propos:5,provid:[5,9,11,13,14],psnr:5,psychophys:17,purpos:1,put:15,pypi:10,pyqt6:[0,1,7,9],pyqt:[1,10],pyramid:5,python:[9,10,13],pythontutori:1,pytorch:[5,9,10],qcloseev:1,qlabel:1,qmainwindow:1,qmouseev:1,qobject:1,qprogressbar:1,qt:10,qtcore:1,qthread:1,qtwidget:1,qualit:[14,17],qualiti:[5,6,9,11,14,17],quantit:17,quick:[9,16],quick_sort:1,quit:1,radar:7,radar_nam:7,radar_plott:7,ranc:7,rang:[1,6,7,13,14,15,17],rate:17,ratio:5,read:[11,16],readi:16,real:9,recent:17,recommend:[6,10,13],recreat:17,recurs:9,redo_plot:1,reduc:5,reduct:5,ref:2,refer:[2,5,7,9,15,17],reinstal:10,relev:10,remain:17,repons:11,request_range_work:1,requir:[1,10,13,14,16,17],reset_clicked_imag:1,reset_correlation_data:1,reset_experi:1,reset_image_widget_to_black:1,reset_slid:1,reset_slider_group:1,resiz:[7,9],resize_imag:7,resize_to_longest_sid:7,respect:[9,17],respons:17,restrict_opt:[0,1],result:[1,7,9,11],results_ord:7,return_dict:7,return_imag:[5,14],reult:7,rgb:7,rgb_bright:[1,7],right:1,robust:5,rotat:[2,6,9,13,14],round:11,run:[3,9,10,11,13],running_an_experi:16,s:[14,15,17],salt:6,salt_and_pepper_nois:6,same:[2,5,15,17],sampl:[5,6],sat:6,satur:6,save:[1,7,13,16],save_and_merge_df_as_csv:7,save_df_as_csv:7,save_dir:7,save_experi:1,save_experiment_result:7,save_imag:7,save_json_dict:7,save_obj:7,save_util:[0,12],saved_experi:1,scalar:[5,14],scale:5,scale_factor:[6,7],scatter:7,scatter_plott:7,scenario:[11,17],score:[1,5,9,15,16],scratch:10,screen:[9,13],script:13,second:17,secondli:11,see:[9,11,14,16],select:[9,11,13,16],self:[0,1,2,15],send:7,sent:1,serv:17,set:[1,11,16],set_checked_menu_from_iter:1,set_image_name_text:1,set_plot_lim:7,set_styl:7,setup:[1,16],setup_experi:1,shape:15,shift:6,should:10,show:[0,7,9,15,16],show_all_imag:1,shown:[15,16],side:7,sigma:5,signal:[1,5,7],similar:[5,14,16,17],simpl:[0,9,11,12],simpler:7,simplest:17,sinc:[2,14],singl:[7,15],single_trans_dict:1,size:[3,5,6,7,9,16],skimag:6,skip:10,small:[5,7],smaller:13,smoother:1,so:[1,7,9,10],softwar:[11,17],some:[10,13,14],sort:[9,16],sort_list:1,sourc:[0,1,2,3,5,6,7],space:17,spacial:[11,14],specif:[9,17],specifi:[7,14],spider:7,squar:[5,6,7,13,15,17],squeez:5,ssim:[5,11,14,17],ssim_imag:14,ssim_kernel_s:5,stanard:9,standard:[6,9],start:[6,14,15,16],start_experi:1,state:1,std:6,step:10,still:15,stop:1,stop_flag:7,stopped_range_work:1,storag:9,store:[2,14,15],str:[0,5],str_to_len:7,straightforward:9,strictli:5,string:7,structur:[5,17],style:1,subclass:1,submodul:12,subpackag:12,subtract:5,sudo:10,sum:5,sure:[0,10,11,15,16],swap_ind:1,system:5,t:10,tab:[1,13],take:[5,9,13,15,16],task:9,tell:15,test:11,test_datastore_attribut:0,text:[1,7],textur:5,than:[1,6],theh:13,thei:[0,2,15,16,17],them:[14,15],thi:[2,7,9,10,13,14,15,16,17],thing:16,thread:[0,12],threshold:6,through:[9,11,13,14,16],time:1,times_taken:7,timescal:9,todo:[0,7],toggle_experi:1,too:17,toolbox:11,torchaudio:10,torchvis:10,tradit:17,tran:[1,2,7],trans_nam:7,trans_str:[1,7],trans_str_valu:7,transform:[0,1,2,3,5,7,9,11,12,16],transform_funct:7,transform_param:7,transform_valu:7,transform_wrapp:0,transformation_nam:7,transformed_imag:2,translat:[6,9],tree:[13,14,15,16],truthfulli:9,tutori:9,tutorial_1:13,tutorial_2:14,tutorial_3:15,tutorial_4:16,two:[5,11,14,17],type:[5,6,7],ubyt:7,ui:[0,2,5,7,11,12,14,16],ui_wrapp:12,unchang:17,under:11,underli:9,understand:[9,11],undistort:9,uninstal:10,unsort:1,until:16,up:[1,11,14],update_annot:7,update_datastore_image_list:1,update_image_set:1,update_progress:1,update_status_bar:1,us:[1,2,5,6,7,9,10,11,13,14,15,16],usag:0,user:[6,9,11,16],util:[0,2,12],utilis:17,uv:5,v:1,valero:5,valu:[2,5,6,7,13,14,15],var_nam:7,var_valu:7,varianc:5,variou:11,version:10,vertic:6,vgg:5,vi:[0,1,2,7,10,13,14,15,16,17],via:2,video:11,view:[9,11,13,14,15,16],view_correlation_inst:1,virtual:10,visibl:17,visit:11,visual:[5,11],visualis:[9,11],wa:7,wai:11,want:[14,16],waves1:14,waves2:14,we:[1,2,10,13,14,15,16,17],websit:10,well:[9,10,11],what:[0,15],when:[1,5,7,13,14,16],where:17,whether:5,which:[2,5,7,9,11,17],whole:[7,13,14,15,16],why:17,widget:[0,7,12],widget_ax:1,widget_nam:1,wiki:5,wikipedia:5,window:1,within:[13,15],without:11,word:15,work:10,worker:1,world:9,would:[10,13],wrap:0,write:[0,7,11],www:[1,5],x:7,x_label:7,x_shift:6,y:[7,10],y_label:7,y_shift:6,you:[10,11,13,14,15,16],your:[14,16],zero:14,zoom:[6,7],zoom_imag:6},titles:["IQM_Vis package","IQM_Vis.UI package","IQM_Vis.data_handlers package","IQM_Vis.examples package","IQM_Vis.examples.images package","IQM_Vis.metrics package","IQM_Vis.transformations package","IQM_Vis.utils package","Tutorials","About IQM-Vis","Getting Started","IQM-Vis documentation","IQM_Vis","Tutorial 1: Making the UI","Tutorial 2: Simple Customisation","Tutorial 3: Customisation Details","Tutorial 4: Running an Experiment","IQMs"],titleterms:{"1":13,"2":14,"3":15,"4":16,"function":9,For:17,about:[9,11],ad:13,all:[3,14],an:[11,16,17],analysi:11,bright:13,built:9,choos:17,code:11,common:10,content:[0,1,2,3,4,5,6,7],correl:11,custom_widget:1,customis:[14,15],data_api:2,data_api_abstract:2,data_handl:2,dataset:3,detail:15,differ:17,dispali:13,displai:13,dist:3,document:11,exampl:[3,4],experi:[3,9,13,16],experiment_mod:1,finsih:16,get:[10,11],graph:13,gui_util:7,how:17,human:[9,11],imag:[1,4,13,14],image_util:7,indic:11,info:16,instal:10,iqm:[5,9,11,17],iqm_vi:[0,1,2,3,4,5,6,7,12],issu:10,kodak:3,layout:1,load:13,main:1,make:[13,15],max:13,metric:[5,13,14,15],modul:[0,1,2,3,4,5,6,7],multipl:3,offer:9,other:13,own:13,packag:[0,1,2,3,4,5,6,7],percept:[9,11],plot_util:7,post:13,pre:13,process:13,put:14,qualit:11,quantit:11,result:16,rgb:13,run:16,save_util:7,screen:16,set:13,simpl:[3,14],size:13,softwar:9,sourc:11,start:[10,11],step:13,submodul:[0,1,2,3,5,6,7],subpackag:[0,3],tabl:11,task:17,test:10,thread:1,togeth:14,transform:[6,13,14,15],tutori:[8,11,13,14,15,16],type:17,ui:[1,13,15],ui_wrapp:0,util:[1,7],vi:[9,11],visualis:16,what:[9,11,17],widget:1,your:[13,17]}})
\ No newline at end of file
+Search.setIndex({docnames:["IQM_Vis","IQM_Vis.UI","IQM_Vis.data_handlers","IQM_Vis.examples","IQM_Vis.examples.images","IQM_Vis.metrics","IQM_Vis.transformations","IQM_Vis.utils","Tutorials","about","getting_started","index","modules","notebooks/Tutorial_1-making_the_UI","notebooks/Tutorial_2-Customisation","notebooks/Tutorial_3-Advanced-Customisations","notebooks/Tutorial_4-running_an_experiment","what-are-IQMs"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":5,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.viewcode":1,nbsphinx:4,sphinx:56},filenames:["IQM_Vis.rst","IQM_Vis.UI.rst","IQM_Vis.data_handlers.rst","IQM_Vis.examples.rst","IQM_Vis.examples.images.rst","IQM_Vis.metrics.rst","IQM_Vis.transformations.rst","IQM_Vis.utils.rst","Tutorials.rst","about.rst","getting_started.rst","index.rst","modules.rst","notebooks/Tutorial_1-making_the_UI.ipynb","notebooks/Tutorial_2-Customisation.ipynb","notebooks/Tutorial_3-Advanced-Customisations.ipynb","notebooks/Tutorial_4-running_an_experiment.ipynb","what-are-IQMs.rst"],objects:{"":[[0,0,0,"-","IQM_Vis"]],"IQM_Vis.UI":[[1,0,0,"-","custom_widgets"],[1,0,0,"-","experiment_mode"],[1,0,0,"-","images"],[1,0,0,"-","layout"],[1,0,0,"-","main"],[1,0,0,"-","threads"],[1,0,0,"-","utils"],[1,0,0,"-","widgets"]],"IQM_Vis.UI.custom_widgets":[[1,1,1,"","ClickLabel"],[1,1,1,"","ProgressBar"]],"IQM_Vis.UI.custom_widgets.ClickLabel":[[1,2,1,"","clicked"],[1,3,1,"","mousePressEvent"]],"IQM_Vis.UI.experiment_mode":[[1,1,1,"","make_experiment"],[1,4,1,"","make_name_for_trans"],[1,1,1,"","reset_image_widget_to_black"],[1,4,1,"","sort_list"]],"IQM_Vis.UI.experiment_mode.make_experiment":[[1,3,1,"","calc_max_comparisons"],[1,3,1,"","change_experiment_images"],[1,3,1,"","click_completed"],[1,3,1,"","clicked_image"],[1,3,1,"","closeEvent"],[1,3,1,"","experiment_layout"],[1,3,1,"","finish_experiment"],[1,3,1,"","get_all_images"],[1,3,1,"","get_metric_scores"],[1,3,1,"","get_single_transform_im"],[1,3,1,"","init_style"],[1,3,1,"","partition"],[1,3,1,"","quick_sort"],[1,3,1,"","quit"],[1,2,1,"","reset_clicked_image"],[1,3,1,"","reset_experiment"],[1,3,1,"","save_experiment"],[1,2,1,"","saved_experiment"],[1,3,1,"","setup_experiment"],[1,3,1,"","show_all_images"],[1,3,1,"","start_experiment"],[1,3,1,"","swap_inds"],[1,3,1,"","toggle_experiment"]],"IQM_Vis.UI.experiment_mode.reset_image_widget_to_black":[[1,3,1,"","change_to_solid"],[1,2,1,"","completed"],[1,3,1,"","stop"]],"IQM_Vis.UI.images":[[1,1,1,"","images"],[1,4,1,"","message_on_plot"]],"IQM_Vis.UI.images.images":[[1,3,1,"","change_data"],[1,3,1,"","change_metric_correlations_graph"],[1,3,1,"","change_metric_range_graph"],[1,3,1,"","change_to_data_num"],[1,3,1,"","change_to_specific_trans"],[1,3,1,"","completed_range_results"],[1,3,1,"","display_images"],[1,3,1,"","display_metric_correlation_plot"],[1,3,1,"","display_metric_images"],[1,3,1,"","display_metric_range_plot"],[1,3,1,"","display_metrics"],[1,3,1,"","display_metrics_graph"],[1,3,1,"","display_metrics_text"],[1,3,1,"","display_radar_plots"],[1,3,1,"","get_metrics_over_all_trans_with_init_values"],[1,3,1,"","init_worker_thread"],[1,3,1,"","load_experiment_from_dir"],[1,3,1,"","load_human_experiment"],[1,3,1,"","load_new_images_folder"],[1,3,1,"","load_new_single_image"],[1,3,1,"","plot_radar_graph"],[1,3,1,"","redo_plots"],[1,2,1,"","request_range_work"],[1,3,1,"","stopped_range_worker"],[1,3,1,"","update_datastore_image_list"],[1,2,1,"","view_correlation_instance"]],"IQM_Vis.UI.layout":[[1,1,1,"","layout"]],"IQM_Vis.UI.layout.layout":[[1,3,1,"","init_layout"],[1,3,1,"","init_style"]],"IQM_Vis.UI.main":[[1,1,1,"","make_app"],[1,4,1,"","set_checked_menu_from_iterable"]],"IQM_Vis.UI.main.make_app":[[1,3,1,"","change_save_folder"],[1,3,1,"","closeEvent"],[1,3,1,"","construct_UI"],[1,3,1,"","get_menu_checkboxes"],[1,3,1,"","load_all_metric_images"],[1,3,1,"","load_all_metrics"],[1,3,1,"","load_all_transforms"],[1,3,1,"","make_menu"],[1,3,1,"","make_status_bar"],[1,3,1,"","quit"],[1,3,1,"","reset_correlation_data"]],"IQM_Vis.UI.threads":[[1,1,1,"","get_range_results_worker"]],"IQM_Vis.UI.threads.get_range_results_worker":[[1,2,1,"","completed"],[1,2,1,"","current_image"],[1,3,1,"","do_work"],[1,2,1,"","progress"],[1,3,1,"","stop"],[1,2,1,"","stopped"]],"IQM_Vis.UI.utils":[[1,4,1,"","add_layout_to_tab"]],"IQM_Vis.UI.widgets":[[1,1,1,"","widgets"]],"IQM_Vis.UI.widgets.widgets":[[1,3,1,"","change_display_im_display_brightness"],[1,3,1,"","change_display_im_rgb_brightness"],[1,3,1,"","change_display_im_size"],[1,3,1,"","change_graph_size"],[1,3,1,"","change_human_scores_after_exp"],[1,3,1,"","change_num_steps"],[1,3,1,"","change_plot_lims"],[1,3,1,"","change_post_processing"],[1,3,1,"","change_pre_processing"],[1,3,1,"","change_text_exp_trans"],[1,3,1,"","disable_settings_button"],[1,3,1,"","display_slider_num"],[1,3,1,"","edit_slider_vals"],[1,3,1,"","enable_settings_button"],[1,3,1,"","generic_value_change"],[1,3,1,"","init_widgets"],[1,3,1,"","launch_experiment"],[1,3,1,"","make_slider_range"],[1,3,1,"","reset_slider_group"],[1,3,1,"","reset_sliders"],[1,3,1,"","set_image_name_text"],[1,3,1,"","update_image_settings"],[1,3,1,"","update_progress"],[1,3,1,"","update_status_bar"]],"IQM_Vis.data_handlers":[[2,0,0,"-","data_api"],[2,0,0,"-","data_api_abstract"]],"IQM_Vis.data_handlers.data_api":[[2,1,1,"","cache_metric_call"],[2,1,1,"","dataset_holder"],[2,4,1,"","get_image_name"]],"IQM_Vis.data_handlers.data_api.cache_metric_call":[[2,3,1,"","__call__"]],"IQM_Vis.data_handlers.data_api.dataset_holder":[[2,3,1,"","add_metric"],[2,3,1,"","add_metric_image"],[2,3,1,"","get_image_dataset_list"],[2,3,1,"","get_image_to_transform"],[2,3,1,"","get_image_to_transform_name"],[2,3,1,"","get_metric_images"],[2,3,1,"","get_metrics"],[2,3,1,"","get_reference_image"],[2,3,1,"","get_reference_image_name"],[2,3,1,"","get_reference_unprocessed"],[2,3,1,"","load_image_list"]],"IQM_Vis.data_handlers.data_api_abstract":[[2,1,1,"","base_dataloader"],[2,1,1,"","base_dataset_loader"]],"IQM_Vis.data_handlers.data_api_abstract.base_dataloader":[[2,3,1,"","get_image_to_transform"],[2,3,1,"","get_image_to_transform_name"],[2,3,1,"","get_metric_images"],[2,3,1,"","get_metrics"],[2,3,1,"","get_reference_image"],[2,3,1,"","get_reference_image_name"],[2,5,1,"","metric_images"],[2,5,1,"","metrics"]],"IQM_Vis.examples":[[3,0,0,"-","all"],[3,0,0,"-","dataset"],[3,0,0,"-","dists"],[3,0,0,"-","experiment"],[4,0,0,"-","images"],[3,0,0,"-","kodak"],[3,0,0,"-","multiple"],[3,0,0,"-","new_api"],[3,0,0,"-","simple"]],"IQM_Vis.examples.all":[[3,4,1,"","run"]],"IQM_Vis.examples.dataset":[[3,4,1,"","run"]],"IQM_Vis.examples.dists":[[3,4,1,"","correct"],[3,4,1,"","load_and_calibrate_image"],[3,4,1,"","run"]],"IQM_Vis.examples.experiment":[[3,4,1,"","run"]],"IQM_Vis.examples.kodak":[[3,4,1,"","run"]],"IQM_Vis.examples.multiple":[[3,4,1,"","run"]],"IQM_Vis.examples.new_api":[[3,4,1,"","run"]],"IQM_Vis.examples.simple":[[3,4,1,"","run"]],"IQM_Vis.metrics":[[5,0,0,"-","IQMs"],[5,4,1,"","get_all_IQM_params"],[5,4,1,"","get_all_metric_images"],[5,4,1,"","get_all_metrics"]],"IQM_Vis.metrics.IQMs":[[5,1,1,"","DISTS"],[5,1,1,"","LPIPS"],[5,1,1,"","MAE"],[5,1,1,"","MSE"],[5,1,1,"","MS_SSIM"],[5,1,1,"","NLPD"],[5,1,1,"","SSIM"],[5,4,1,"","make_kernel_odd"],[5,1,1,"","one_over_PSNR"]],"IQM_Vis.metrics.IQMs.DISTS":[[5,3,1,"","__call__"]],"IQM_Vis.metrics.IQMs.LPIPS":[[5,3,1,"","__call__"]],"IQM_Vis.metrics.IQMs.MAE":[[5,3,1,"","__call__"]],"IQM_Vis.metrics.IQMs.MSE":[[5,3,1,"","__call__"]],"IQM_Vis.metrics.IQMs.MS_SSIM":[[5,3,1,"","__call__"]],"IQM_Vis.metrics.IQMs.NLPD":[[5,3,1,"","__call__"]],"IQM_Vis.metrics.IQMs.SSIM":[[5,3,1,"","__call__"]],"IQM_Vis.metrics.IQMs.one_over_PSNR":[[5,3,1,"","__call__"]],"IQM_Vis.transformations":[[6,4,1,"","get_all_transforms"],[6,0,0,"-","transforms"]],"IQM_Vis.transformations.transforms":[[6,4,1,"","Gaussian_noise"],[6,4,1,"","binary_threshold"],[6,4,1,"","blur"],[6,4,1,"","brightness"],[6,4,1,"","brightness_hsv"],[6,4,1,"","contrast"],[6,4,1,"","hue"],[6,4,1,"","jpeg_compression"],[6,4,1,"","rotation"],[6,4,1,"","salt_and_pepper_noise"],[6,4,1,"","saturation"],[6,4,1,"","x_shift"],[6,4,1,"","y_shift"],[6,4,1,"","zoom_image"]],"IQM_Vis.ui_wrapper":[[0,1,1,"","make_UI"],[0,4,1,"","test_datastore_attributes"],[0,1,1,"","transform_wrapper"]],"IQM_Vis.ui_wrapper.make_UI":[[0,3,1,"","show"]],"IQM_Vis.ui_wrapper.transform_wrapper":[[0,3,1,"","__call__"]],"IQM_Vis.utils":[[7,0,0,"-","gui_utils"],[7,0,0,"-","image_utils"],[7,0,0,"-","plot_utils"],[7,0,0,"-","save_utils"]],"IQM_Vis.utils.gui_utils":[[7,1,1,"","MplCanvas"],[7,4,1,"","change_im"],[7,4,1,"","get_image_pair_name"],[7,4,1,"","get_metric_image_name"],[7,4,1,"","get_resolutions"],[7,4,1,"","get_trans_dict_from_str"],[7,4,1,"","get_transformed_image_name"],[7,4,1,"","str_to_len"]],"IQM_Vis.utils.image_utils":[[7,4,1,"","calibrate_brightness"],[7,4,1,"","crop_centre"],[7,4,1,"","get_transform_image"],[7,4,1,"","load_image"],[7,4,1,"","resize_image"],[7,4,1,"","resize_to_longest_side"],[7,4,1,"","save_image"]],"IQM_Vis.utils.plot_utils":[[7,1,1,"","bar_plotter"],[7,4,1,"","click_scatter"],[7,4,1,"","compute_metric_for_human_correlation"],[7,4,1,"","compute_metrics_over_range"],[7,4,1,"","compute_metrics_over_range_single_trans"],[7,4,1,"","get_all_single_transform_params"],[7,4,1,"","get_all_slider_values"],[7,4,1,"","get_correlation_plot"],[7,4,1,"","get_radar_plots_avg_plots"],[7,4,1,"","get_transform_range_plots"],[7,4,1,"","hover_scatter"],[7,1,1,"","line_plotter"],[7,1,1,"","radar_plotter"],[7,1,1,"","scatter_plotter"],[7,4,1,"","update_annot"]],"IQM_Vis.utils.plot_utils.bar_plotter":[[7,3,1,"","plot"],[7,3,1,"","set_plot_lims"],[7,3,1,"","set_style"],[7,3,1,"","show"]],"IQM_Vis.utils.plot_utils.line_plotter":[[7,3,1,"","plot"],[7,3,1,"","set_plot_lims"],[7,3,1,"","set_style"],[7,3,1,"","show"]],"IQM_Vis.utils.plot_utils.radar_plotter":[[7,3,1,"","plot"],[7,3,1,"","set_plot_lims"],[7,3,1,"","set_style"],[7,3,1,"","show"]],"IQM_Vis.utils.plot_utils.scatter_plotter":[[7,3,1,"","plot"],[7,3,1,"","set_plot_lims"],[7,3,1,"","set_style"],[7,3,1,"","show"]],"IQM_Vis.utils.save_utils":[[7,6,1,"","DEFAULT_SAVE_DIR"],[7,4,1,"","get_IQM_file"],[7,4,1,"","get_human_scores_file"],[7,4,1,"","get_human_times_file"],[7,4,1,"","get_image_name_from_human_scores"],[7,4,1,"","get_image_processing_file"],[7,4,1,"","get_original_image_file"],[7,4,1,"","get_original_unprocessed_image_file"],[7,4,1,"","get_transform_functions_file"],[7,4,1,"","get_transform_params_file"],[7,4,1,"","load_json_dict"],[7,4,1,"","load_obj"],[7,4,1,"","save_and_merge_df_as_csv"],[7,4,1,"","save_df_as_csv"],[7,4,1,"","save_experiment_results"],[7,4,1,"","save_json_dict"],[7,4,1,"","save_obj"]],IQM_Vis:[[1,0,0,"-","UI"],[2,0,0,"-","data_handlers"],[3,0,0,"-","examples"],[5,0,0,"-","metrics"],[6,0,0,"-","transformations"],[0,0,0,"-","ui_wrapper"],[7,0,0,"-","utils"]]},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","attribute","Python attribute"],"3":["py","method","Python method"],"4":["py","function","Python function"],"5":["py","property","Python property"],"6":["py","data","Python data"]},objtypes:{"0":"py:module","1":"py:class","2":"py:attribute","3":"py:method","4":"py:function","5":"py:property","6":"py:data"},terms:{"0":[0,1,5,6,7,10,13,14,15],"01":5,"03":5,"1":[0,1,5,6,7,10,11,14,15],"10":10,"100":[6,7,14],"101":6,"11":[0,1,5,7,10],"128":7,"13":10,"14":10,"180":[5,14],"2":[6,7,11,15],"200":3,"2016_hvei":5,"250":7,"255":6,"256":3,"2x":[6,7],"3":[7,10,11,14],"300":1,"39":14,"4":[5,11,14,15],"41":14,"5":[1,5,6,7,13,14,15],"6":[1,15],"7":[6,10,15],"8":15,"9":10,"90":6,"abstract":2,"byte":2,"class":[0,1,2,5,7,15],"default":[2,5,6,7,13,15],"do":[2,7,9,10,11,13],"float":[6,7,14,15],"function":[0,1,2,6,7,13,14,15,17],"import":[10,13,14,15,17],"int":[6,14],"new":[1,10,13],"return":[0,5,6,7,14,15,16],"true":[0,1,3,5,7,14],"try":10,A:15,For:[2,14,15],If:[2,10,16],In:[13,14,15,16,17],It:[5,9,10,17],On:16,The:[5,9,13,16,17],Then:15,There:[10,17],These:[11,14,17],To:[13,14,16],__call__:[0,2,5,15],__init__:15,_max:1,_min:1,_plot:7,_redo_plot:1,a_tran:1,ab:15,abc:2,abl:11,about:[1,15],abov:15,absolut:5,acceler:9,access:[0,9],accord:17,achiev:[2,9],across:7,action_stor:1,activ:10,ad:[6,9,14],add:[1,6,13,15],add_layout_to_tab:1,add_metr:2,add_metric_imag:2,adher:17,adjust:[6,13,15],advanc:15,advantag:9,after:[2,7,13],against:[9,16],aim:17,al:5,alex:5,algorithm:[9,16,17],align:5,all:[0,1,2,5,6,7,12,13,16],all_metr:5,all_param:5,alongsid:[1,6],alreadi:2,also:[9,10,14,15,17],amount:6,an:[0,1,2,5,6,9,13,14],anaconda:10,analys:[9,11],analysi:[1,9,14],angl:6,ani:[9,11,13,15],annot:7,anyth:15,api:[0,2],app:1,append_char:7,append_dataset:1,appli:[1,2,13,17],apt:10,ar:[0,1,2,5,6,9,10,11,15,16,17],arbitrari:5,area:6,arg:[0,1,15],argument:[5,15],around:[6,10],arr:2,arrai:[1,2,5,6,7,15],aspect:14,associ:5,att:15,attempt:17,attribut:[0,15],automat:9,avaiabl:3,avail:[5,6],ax:7,b:[6,13,16],b_tran:1,backend:[5,7,9],backend_qtagg:7,bar:13,bar_nam:7,bar_plott:7,base:[0,1,2,5,7],base_dataload:2,base_dataset_load:2,basic:14,batch:5,been:2,befor:[13,14],behav:11,behaviour:17,being:[7,17],below:5,benchmark:17,best:[7,17],better:6,between:[0,1,5,17],beyond:6,binari:6,binary_threshold:6,black:[1,6,13],blank:13,blueprint:2,blur:[6,14],boarder:13,bool:[0,5,7],both:[2,17],bound:15,box:9,bright:[6,14,15],brightness_hsv:6,buffer:2,button:[1,16],c:10,cach:2,cache_metric_cal:2,calc_max_comparison:1,calc_rang:1,calcul:[1,2,9,13],calibr:[9,16],calibrate_bright:7,call:[0,2,5,13,15],callabl:[2,15],can:[1,9,10,11,13,14,15,16,17],candela:13,capabilit:9,captur:17,categoris:17,centr:[6,7],chang:[1,7,10,13,14],change_data:1,change_display_im_display_bright:1,change_display_im_rgb_bright:1,change_display_im_s:1,change_experiment_imag:1,change_graph_s:1,change_human_scores_after_exp:1,change_im:7,change_metric_correlations_graph:1,change_metric_range_graph:1,change_num_step:1,change_plot_lim:1,change_post_process:1,change_pre_process:1,change_save_fold:1,change_text_exp_tran:1,change_to_data_num:1,change_to_solid:1,change_to_specific_tran:1,change_trans_value_sign:7,checkbox:1,checked_metr:1,checked_transformation_param:1,choos:5,clash:10,click:[1,7,13,16],click_complet:1,click_scatt:7,clickabl:1,clicked_imag:1,clicklabel:1,clip:[6,15],closeev:1,code:[5,7,10],collect:9,colour:1,com:[5,13,14,15,16],commun:2,comp:14,compar:[9,14,16,17],comparison:[5,9,15],compat:5,complet:1,completed_range_result:1,comprehens:11,compress:6,comput:[7,13],compute_metric_for_human_correl:7,compute_metrics_over_rang:7,compute_metrics_over_range_single_tran:7,conda:10,conduct:[9,11],conflict:10,conform:[9,11],connect_func:1,consist:17,construct_ui:1,constructor:2,contain:[7,13,16],content:12,context:17,contrast:6,control:5,conveni:9,conver:6,convert:[2,6],convolut:6,copi:13,correct:[0,3,9,16],correl:[7,9,16,17],correspond:[7,13,16],could:10,cover:9,creat:[1,10,17],crop:[2,7,9,13],crop_centr:7,crope:7,crucial:9,css_file:1,csv:[7,16],cuda:10,current:7,current_imag:1,cursor0:10,custom:[1,9,14,15],custom_bright:15,custom_mae_class:15,custom_mae_funct:15,custom_widget:[0,12],customis:[11,16],data:[0,1,2,7,9,11,17],data_api:[0,7,12],data_api_abstract:[0,12],data_handl:[0,12],data_stor:[0,1,7],dataset:[0,1,7,9,12,15],dataset_hold:2,debug:0,decod:6,decreas:6,deep:[5,17],def:15,default_save_dir:[0,1,7],defin:[14,15],degre:6,demonstr:[10,11],depend:10,depth:11,design:9,desir:[9,14],despit:17,detail:[9,11],develop:9,deviat:6,df:7,dict:[0,1,2,5,6,7],dict_:7,dictionari:[2,14,15],differ:[2,10,11],digit:6,dimens:5,dingkeyan93:5,dir:7,directori:13,disable_settings_button:1,disagre:16,disp_len:1,displai:[9,16],display_bright:[1,7],display_imag:1,display_metr:1,display_metric_correlation_plot:1,display_metric_imag:1,display_metric_range_plot:1,display_metrics_graph:1,display_metrics_text:1,display_radar_plot:1,display_slider_num:1,dissimilar:5,dist:[0,5,12],distanc:17,distor:11,distort:[6,9,11,14,15,17],do_work:1,doc:[0,7,13,14,15,16],document:[9,14],don:10,down:1,download:10,downsiz:5,dpi:7,drop:1,dummi:15,dummy_arg:15,e:[5,10,11,13,15,17],each:[6,7],earli:5,edit_slider_v:1,effect:11,element:1,empir:17,en:5,enabl:9,enable_settings_button:1,encod:6,entri:1,environ:10,error:[5,7,10,15,17],es:5,et:5,etc:[0,16],euclidean:17,evalu:[5,9,11,17],event:[1,7],everyth:[14,16],exactli:15,exampl:[0,2,5,10,12,14,15,17],expand:15,expect:11,expens:17,experi:[0,1,7,11,12,17],experiment:17,experiment_layout:1,experiment_mod:[0,12],expos:9,extent:1,extra:[10,15],extrem:17,f:14,facilit:[9,11],fail:9,fals:[0,1,5,7],featur:[9,11],feel:14,figur:7,figurecanvasqtagg:7,file:[2,3,7,13,14,16],file_path:2,filepath:14,fill:6,finish_experi:1,first:[10,16,17],firstli:11,fix:[7,10],float32:6,folder:[1,13,16],follow:15,form:[9,15],frame:7,framework:9,free:14,fresh:10,from:[1,2,5,7,9,10,13,16,17],fucntion:2,further:[9,11],g:[5,10,11,13,15],gain:5,gan:5,gather:17,gaussian:6,gaussian_nois:6,gener:[2,5,9,16],generic_value_chang:1,geometr:5,get:[0,1,5,6,7,14],get_all_imag:1,get_all_iqm_param:5,get_all_metr:5,get_all_metric_imag:5,get_all_single_transform_param:7,get_all_slider_valu:7,get_all_transform:6,get_correlation_plot:7,get_human_scores_fil:7,get_human_times_fil:7,get_image_dataset_list:2,get_image_nam:2,get_image_name_from_human_scor:7,get_image_pair_nam:7,get_image_processing_fil:7,get_image_to_transform:2,get_image_to_transform_nam:2,get_iqm_fil:7,get_menu_checkbox:1,get_metr:2,get_metric_imag:2,get_metric_image_nam:7,get_metric_scor:1,get_metrics_over_all_trans_with_init_valu:1,get_original_image_fil:7,get_original_unprocessed_image_fil:7,get_radar_plots_avg_plot:7,get_range_results_work:1,get_reference_imag:2,get_reference_image_nam:2,get_reference_unprocess:2,get_resolut:7,get_single_transform_im:1,get_trans_dict_from_str:7,get_transform_functions_fil:7,get_transform_imag:7,get_transform_params_fil:7,get_transform_range_plot:7,get_transformed_image_nam:7,getter:7,github:[5,11,13,14,15,16],give:[5,16,17],given:[1,5,6,7,17],go:[13,14,16],goal:17,gpu:[9,10],graph:[0,1,7,9,11],graphic:[9,17],greycal:3,grip:14,group:17,gui:9,gui_util:[0,12],h:6,ha:[9,16],half:7,handl:9,handler:0,hardwar:9,hashabl:2,have:[2,5,6,7,10,11,13,15,17],head:10,headless:10,helper:7,here:[15,16],high:1,higher:[1,6],highest:9,hold:7,home:[0,1,7,14,15],horizont:6,hover_scatt:7,how:[5,7,11,13,14,16],html:14,http:[1,5,13,14,15,16],hue:6,human:[16,17],human_exp_csv:2,human_scor:7,i:[1,17],ident:6,illustr:11,im:7,im_comp:[5,15],im_ref:[5,15],imag:[0,2,3,5,6,7,9,11,12,15,16,17],image1:14,image2:14,image_display_s:1,image_list:[0,1,2,14,15],image_list_to_transform:2,image_load:2,image_nam:1,image_path:7,image_post_process:2,image_postprocess:1,image_pre_process:2,image_preprocess:1,image_util:[0,12],img:[3,7],implement:9,improv:9,includ:[9,13,14,15],increas:6,ind:[1,7],index:[5,7,10,11,17],individu:7,info:1,info_item:1,inform:[14,16],init:[1,14],init_layout:1,init_styl:1,init_valu:[6,14,15],init_widget:1,init_worker_thread:1,initi:7,initialis:[1,15],input:[0,2,14,15],inspect:11,instanc:5,instead:[7,14],interact:17,interfac:9,invari:17,investig:11,io:14,ipynb:[13,14,15,16],iqm:[0,1,2,7,10,12,13,14,15,16],iqm_scores_df:7,iqm_vi:[10,11,13,14,15],item:[7,13],iter:1,its:[0,6,7],itself:17,ival:1,j:1,jpeg:[0,6,14],jpeg_compress:[6,14],jpg:14,just:[7,17],k1:5,k2:5,keep_siz:7,kei:[1,2,7,15],kernel:[5,6,14],kernel_s:6,keyword:5,know:10,kodak:[0,12,15],kodim01:15,kodim02:15,kwarg:[0,1,2,5,15],l1:15,label:[1,7],laparra:5,lapeva:5,laplacian:5,later:[14,15],latest:10,launch:[13,16],launch_experi:1,layout:[0,12],learn:[5,17],left:1,lend:17,length:7,less:6,let:[14,15],librari:10,libxcb:10,light:1,like:[10,15,17],lim:7,line_plott:7,link:10,linux:10,list1:1,list2:1,list:[0,1,2,7,14],literatur:17,littl:14,load:[2,7,10,16],load_all_metr:1,load_all_metric_imag:1,load_all_transform:1,load_and_calibrate_imag:3,load_experiment_from_dir:1,load_human_experi:1,load_imag:[2,7],load_image_list:2,load_json_dict:7,load_new_images_fold:1,load_new_single_imag:1,load_obj:7,loader:2,local:[5,14],longest:7,look:7,loss:[5,17],low:1,lower:1,lpip:5,lumin:[5,9,13,16],mae:[5,14,15],mai:[10,17],main:[0,12,13,14,15,16],main_menu:1,make:[0,7,10,11,16],make_app:1,make_experi:1,make_kernel_odd:5,make_menu:1,make_name_for_tran:1,make_slider_rang:1,make_status_bar:1,make_ui:[0,10,13,14,15],maker:14,maketh:1,making_the_ui:13,manag:[9,11],mani:9,matplotlib:7,matt:[0,1,7,14,15],mattclifford1:[13,14,15,16],max:[6,7,14,15],max_lumin:3,maximum:13,mean:[5,15,17],measur:[5,13,17],menu:[1,13,16],messag:1,message_on_plot:1,meta_dict:3,meter:13,method:7,metric:[0,1,2,3,7,9,11,12,16,17],metric_imag:[0,1,2,14],metric_param:[0,1,7,15],metric_range_graph:1,metric_scor:7,metrics_avg_graph:[0,1],metrics_info_format:[0,1],metrics_nam:7,metrics_to_us:[2,7],might:[15,16],mild:5,mimic:17,min:[6,7,14,15],mismatch:10,model:17,modul:[11,12],more:[9,14],most:16,mousepressev:1,mplcanva:7,ms_ssim:5,mse:[5,14],mse_imag:14,mssim_kernel_s:5,much:17,multi:5,multipl:[0,12],must:5,mutabl:2,n:[10,13,16],name:[1,2,6,7],navig:13,necessari:17,need:[0,1,2,7,10,13,14,15,16],net:1,network:5,new_api:[0,12],newer:10,nlpd:5,nlpd_k:5,nois:[5,6],noise_ratio:5,non:[7,14],none:[0,1,2,7],normal:[6,7,14],normalis:[5,14],note:[5,7,10,15],notebook:[13,14,15,16],now:[10,14,15],np:[5,6,7,15],num_imag:1,num_step:[1,7],num_step_experi:1,num_steps_rang:[0,1],number:[6,13],numpi:[2,7,9,15],nvidia:10,object:[0,1,2,5,7,15,17],observ:17,obtain:17,odd:[6,14],off:15,offer:11,often:[10,17],onc:16,one_over_psnr:5,onli:[6,7,13,14,16],opencv:[9,10],oper:[5,14,17],option:[2,9,14,16],order:[1,9,16],ordin:9,org:5,origin:7,other:[7,9],our:[11,15],out:[6,7,9],over:[5,7,10,13,14],overse:17,own:[14,15,16],packag:[10,11,12,14,15],packg:13,pair:[5,9],pairwis:16,paper:[5,11],param1:15,param:[1,15],param_group:1,paramet:[2,5,6,7,11,13,15,17],paramt:[7,13],particip:[9,16],particular:9,partit:1,pass:[14,15],past:13,patch:5,path:[1,2,7,14],paus:1,pbar_sign:7,pdf:5,peak:5,peak_sign:5,peel:15,peic:14,pepper:6,per:13,perceiv:[9,17],percentag:[6,7],percept:17,perceptu:[5,17],perform:[11,17],pick:9,pickl:7,pickle_path:7,pip:10,pivot:1,pixel:[5,6],pkl:7,place:13,platform:10,plethora:17,plot:[1,7,9,16],plot_radar_graph:1,plot_util:[0,12],plu:7,plugin:10,png:15,point:[1,5,7,10,16],polar:7,post:7,practition:[9,11,17],pre:9,premis:17,presenc:17,press:[1,16],pretrain:5,previou:16,principl:17,print:14,prob:6,probabl:6,procedur:11,process:[7,9,14,17],produc:[13,17],profil:17,progress:1,progressbar:1,project:[0,13,14],properti:[0,2,9,11],proport:6,propos:5,provid:[5,9,11,13,14],psnr:5,psychophys:17,purpos:1,put:15,pypi:10,pyqt6:[0,1,7,9],pyqt:[1,10],pyramid:5,python:[9,10,13],pythontutori:1,pytorch:[5,9,10],qcloseev:1,qlabel:1,qmainwindow:1,qmouseev:1,qobject:1,qprogressbar:1,qt:10,qtcore:1,qthread:1,qtwidget:1,qualit:[14,17],qualiti:[5,6,9,11,14,17],quantit:17,quick:[9,16],quick_sort:1,quit:1,radar:7,radar_nam:7,radar_plott:7,ranc:7,rang:[1,6,7,13,14,15,17],rate:17,ratio:5,read:[11,16],readi:16,real:9,recent:17,recommend:[6,10,13],recreat:17,recurs:9,redo_plot:1,reduc:5,reduct:5,ref:2,refer:[2,5,7,9,15,17],reinstal:10,relev:10,remain:17,repons:11,request_range_work:1,requir:[1,10,13,14,16,17],reset_clicked_imag:1,reset_correlation_data:1,reset_experi:1,reset_image_widget_to_black:1,reset_slid:1,reset_slider_group:1,resiz:[7,9],resize_imag:7,resize_to_longest_sid:7,respect:[9,17],respons:17,restrict_opt:[0,1],result:[1,7,9,11],results_ord:7,return_dict:7,return_imag:[5,14],reult:7,rgb:7,rgb_bright:[1,7],right:1,robust:5,rotat:[2,6,9,13,14],round:11,run:[3,9,10,11,13],running_an_experi:16,s:[14,15,17],salt:6,salt_and_pepper_nois:6,same:[2,5,15,17],sampl:[5,6],sat:6,satur:6,save:[1,7,13,16],save_and_merge_df_as_csv:7,save_df_as_csv:7,save_dir:7,save_experi:1,save_experiment_result:7,save_imag:7,save_json_dict:7,save_obj:7,save_util:[0,12],saved_experi:1,scalar:[5,14],scale:5,scale_factor:[6,7],scatter:7,scatter_plott:7,scenario:[11,17],score:[1,5,9,15,16],scratch:10,screen:[9,13],script:13,second:17,secondli:11,see:[9,11,14,16],select:[9,11,13,16],self:[0,1,2,15],send:7,sent:1,serv:17,set:[1,11,16],set_checked_menu_from_iter:1,set_image_name_text:1,set_plot_lim:7,set_styl:7,setup:[1,16],setup_experi:1,shape:15,shift:6,should:10,show:[0,7,9,15,16],show_all_imag:1,shown:[15,16],side:7,sigma:5,signal:[1,5,7],similar:[5,14,16,17],simpl:[0,9,11,12],simpler:7,simplest:17,sinc:[2,14],singl:[7,15],single_trans_dict:1,size:[3,5,6,7,9,16],skimag:6,skip:10,sliders_dict:1,small:[5,7],smaller:13,smoother:1,so:[1,7,9,10],softwar:[11,17],some:[10,13,14],sort:[9,16],sort_list:1,sourc:[0,1,2,3,5,6,7],space:17,spacial:[11,14],specif:[9,17],specifi:[7,14],spider:7,squar:[5,6,7,13,15,17],squeez:5,ssim:[5,11,14,17],ssim_imag:14,ssim_kernel_s:5,stanard:9,standard:[6,9],start:[6,14,15,16],start_experi:1,state:1,std:6,step:10,still:15,stop:1,stop_flag:7,stopped_range_work:1,storag:9,store:[2,14,15],str:[0,5],str_to_len:7,straightforward:9,strictli:5,string:7,structur:[5,17],style:1,subclass:1,submodul:12,subpackag:12,subtract:5,sudo:10,sum:5,sure:[0,10,11,15,16],swap_ind:1,system:5,t:10,tab:[1,13],take:[5,9,13,15,16],task:9,tell:15,test:11,test_datastore_attribut:0,text:[1,7],textur:5,than:[1,6],theh:13,thei:[0,2,15,16,17],them:[14,15],thi:[2,7,9,10,13,14,15,16,17],thing:16,thread:[0,12],threshold:6,through:[9,11,13,14,16],time:1,times_taken:7,timescal:9,todo:[0,7],toggle_experi:1,too:17,toolbox:11,torchaudio:10,torchvis:10,tradit:17,tran:[1,2,7],trans_nam:7,trans_str:[1,7],trans_str_valu:7,transform:[0,1,2,3,5,7,9,11,12,16],transform_funct:7,transform_param:7,transform_valu:7,transform_wrapp:0,transformation_nam:7,transformed_imag:2,translat:[6,9],tree:[13,14,15,16],truthfulli:9,tutori:9,tutorial_1:13,tutorial_2:14,tutorial_3:15,tutorial_4:16,two:[5,11,14,17],txt:10,type:[5,6,7],ubyt:7,ui:[0,2,5,7,11,12,14,16],ui_wrapp:12,unchang:17,under:11,underli:9,understand:[9,11],undistort:9,uninstal:10,unpin:10,unsort:1,unstabl:10,untest:10,until:16,up:[1,11],update_annot:7,update_datastore_image_list:1,update_image_set:1,update_progress:1,update_status_bar:1,us:[1,2,5,6,7,9,10,11,13,14,15,16],usag:0,user:[6,9,11,16],util:[0,2,12],utilis:17,uv:5,v:1,valero:5,valu:[2,5,6,7,13,14,15],var_nam:7,var_valu:7,varianc:5,variou:11,version:10,vertic:6,vgg:5,vi:[0,1,2,7,10,13,14,15,16,17],via:2,video:11,view:[9,11,13,14,15,16],view_correlation_inst:1,virtual:10,visibl:17,visit:11,visual:[5,11],visualis:[9,11],wa:7,wai:11,want:[14,16],waves1:[0,14],waves2:[0,14],waves3:0,we:[1,2,10,13,14,15,16,17],websit:10,well:[9,10,11],what:[0,15],when:[1,5,7,13,14,16],where:17,whether:5,which:[2,5,7,9,10,11,17],whole:[7,13,14,15,16],why:17,widget:[0,7,12],widget_ax:1,widget_nam:1,wiki:5,wikipedia:5,window:1,within:[13,15],without:11,word:15,work:10,worker:1,world:9,would:[10,13],wrap:0,write:[0,7,11],www:[1,5],x:7,x_label:7,x_shift:6,y:[7,10],y_label:7,y_shift:6,you:[10,11,13,14,15,16],your:[14,16],zero:14,zoom:[6,7],zoom_imag:6},titles:["IQM_Vis package","IQM_Vis.UI package","IQM_Vis.data_handlers package","IQM_Vis.examples package","IQM_Vis.examples.images package","IQM_Vis.metrics package","IQM_Vis.transformations package","IQM_Vis.utils package","Tutorials","About IQM-Vis","Getting Started","IQM-Vis documentation","IQM_Vis","Tutorial 1: Making the UI","Tutorial 2: Simple Customisation","Tutorial 3: Customisation Details","Tutorial 4: Running an Experiment","IQMs"],titleterms:{"1":13,"2":14,"3":15,"4":16,"function":9,For:17,about:[9,11],ad:13,all:[3,14],an:[11,16,17],analysi:11,bright:13,built:9,choos:17,code:11,common:10,content:[0,1,2,3,4,5,6,7],correl:11,custom_widget:1,customis:[14,15],data_api:2,data_api_abstract:2,data_handl:2,dataset:3,detail:15,differ:17,dispali:13,displai:13,dist:3,document:11,exampl:[3,4],experi:[3,9,13,16],experiment_mod:1,finsih:16,get:[10,11],graph:13,gui_util:7,how:17,human:[9,11],imag:[1,4,13,14],image_util:7,indic:11,info:16,instal:10,iqm:[5,9,11,17],iqm_vi:[0,1,2,3,4,5,6,7,12],issu:10,kodak:3,layout:1,load:13,main:1,make:[13,15],max:13,metric:[5,13,14,15],modul:[0,1,2,3,4,5,6,7],multipl:3,new_api:3,offer:9,other:13,own:13,packag:[0,1,2,3,4,5,6,7],percept:[9,11],plot_util:7,post:13,pre:13,process:13,put:14,qualit:11,quantit:11,result:16,rgb:13,run:16,save_util:7,screen:16,set:13,simpl:[3,14],size:13,softwar:9,sourc:11,start:[10,11],step:13,submodul:[0,1,2,3,5,6,7],subpackag:[0,3],tabl:11,task:17,test:10,thread:1,togeth:14,transform:[6,13,14,15],tutori:[8,11,13,14,15,16],type:17,ui:[1,13,15],ui_wrapp:0,util:[1,7],vi:[9,11],visualis:16,what:[9,11,17],widget:1,your:[13,17]}})
\ No newline at end of file
diff --git a/docs/getting_started.rst b/docs/getting_started.rst
index d4806b6..8b23593 100644
--- a/docs/getting_started.rst
+++ b/docs/getting_started.rst
@@ -41,6 +41,10 @@ Common Issues
=============
There are some know issues with some work arounds.
+There are some dependancy conflicts with python 3.11, we recommend 3.9 or 3.10.
+If you require python 3.11, you will need to unpin the dependancy versions in the requirements.txt and install the latest versions which will fix the issue but note this is untested and may be unstable.
+
+
If you are getting the error
.. code-block:: bash
diff --git a/docs/notebooks/Tutorial_2-Customisation.ipynb b/docs/notebooks/Tutorial_2-Customisation.ipynb
index 0ed739a..490f502 100644
--- a/docs/notebooks/Tutorial_2-Customisation.ipynb
+++ b/docs/notebooks/Tutorial_2-Customisation.ipynb
@@ -138,27 +138,7 @@
"metadata": {},
"source": [
"## Putting it all together\n",
- "First we need to bundle up the images and metrics in a datastore"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 6,
- "id": "171060e6",
- "metadata": {},
- "outputs": [],
- "source": [
- "data = IQM_Vis.dataset_holder(images,\n",
- " metrics,\n",
- " metric_images)"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "cb8a3088",
- "metadata": {},
- "source": [
- "Now we need to pass everything to the UI maker"
+ "We need to pass everything to the UI maker"
]
},
{
@@ -168,8 +148,10 @@
"metadata": {},
"outputs": [],
"source": [
- "IQM_Vis.make_UI(data,\n",
- " transformations)"
+ "IQM_Vis.make_UI(transformations=transformations,\n",
+ " image_list=images,\n",
+ " metrics=metrics,\n",
+ " metric_images=metric_images)"
]
},
{
diff --git a/docs/notebooks/Tutorial_3-Advanced-Customisations.ipynb b/docs/notebooks/Tutorial_3-Advanced-Customisations.ipynb
index d24869b..40f1a22 100644
--- a/docs/notebooks/Tutorial_3-Advanced-Customisations.ipynb
+++ b/docs/notebooks/Tutorial_3-Advanced-Customisations.ipynb
@@ -197,10 +197,10 @@
"source": [
"images = ['/home/matt/datasets/kodak/kodim01.png', \n",
" '/home/matt/datasets/kodak/kodim02.png']\n",
- "data = IQM_Vis.dataset_holder(images,\n",
- " metrics)\n",
- "IQM_Vis.make_UI(data,\n",
- " transformations,\n",
+ "\n",
+ "IQM_Vis.make_UI(transformations=transformations,\n",
+ " image_list=images,\n",
+ " metrics=metrics,\n",
" metric_params=params)"
]
},
diff --git a/requirements-pinned.txt b/requirements-pinned.txt
new file mode 100644
index 0000000..30eca3f
--- /dev/null
+++ b/requirements-pinned.txt
@@ -0,0 +1,16 @@
+numpy==1.23.4
+PyQt6==6.4.0
+PyQt6-Qt6==6.4.0
+PyQt6-sip==13.4.0
+opencv-python-headless==4.6.0.66
+Pillow==9.2.0
+scikit-image==0.19.3
+matplotlib==3.6.1
+torch>=1.13.1
+torchmetrics==0.10.0
+lpips==0.1.4
+DISTS-pytorch==0.1
+torchvision>=0.14.1
+pandas==2.0.0
+scipy==1.9.3
+notebook
\ No newline at end of file
diff --git a/requirements.txt b/requirements.txt
index 30eca3f..7f56997 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,16 +1,16 @@
-numpy==1.23.4
-PyQt6==6.4.0
-PyQt6-Qt6==6.4.0
-PyQt6-sip==13.4.0
-opencv-python-headless==4.6.0.66
-Pillow==9.2.0
-scikit-image==0.19.3
-matplotlib==3.6.1
+numpy>=1.23.4
+PyQt6>=6.4.0
+PyQt6-Qt6>=6.4.0
+PyQt6-sip>=13.4.0
+opencv-python-headless>=4.6.0.66
+Pillow>=9.2.0
+scikit-image>=0.19.3
+matplotlib>=3.6.1
torch>=1.13.1
-torchmetrics==0.10.0
-lpips==0.1.4
-DISTS-pytorch==0.1
+torchmetrics>=0.10.0
+lpips>=0.1.4
+DISTS-pytorch>=0.1
torchvision>=0.14.1
-pandas==2.0.0
-scipy==1.9.3
+pandas>=2.0.0
+scipy>=1.9.3
notebook
\ No newline at end of file