see-insight / see-segment

Simple Evolutionary Exploration - Image Segmentation
MIT License
6 stars 21 forks source link

Allow for 4-channel images #90

Open colbrydi opened 1 year ago

colbrydi commented 1 year ago

The Headphones.jpeg file is a 4 channel image. This causes problems with a few algorithms. Specifically a value error shown at the end of this message.

We need to update all algorithms to account for 4 channel images.

<class 'see.Workflow.workflow'> parameters: colorspace = RGB multichannel = True channel = 0 algorithm = QuickShift alpha1 = 0.69140625 alpha2 = 0.3828125 beta1 = 0.68359375 beta2 = 0.80078125 gamma1 = 0.78125 gamma2 = 0.59375 n_segments = 4 max_num_iter = 11

Traceback (most recent call last): File "/mnt/home/colbrydi/UserCode/colbrydi/see-benchmark/./see-segment/see/RunSearch.py", line 144, in geneticsearch_commandline() File "/mnt/home/colbrydi/UserCode/colbrydi/see-benchmark/./see-segment/see/RunSearch.py", line 141, in geneticsearch_commandline continuous_search(args.input_file, args.input_mask,pop_size=args.pop_size,num_iter=args.num_iter); File "/mnt/home/colbrydi/UserCode/colbrydi/see-benchmark/./see-segment/see/RunSearch.py", line 99, in continuous_search population = myevolver.run(ngen=1,population=population) File "/mnt/home/colbrydi/UserCode/colbrydi/see-benchmark/see-segment/see/GeneticSearch.py", line 472, in run , population = self.popfitness(population) File "/mnt/home/colbrydi/UserCode/colbrydi/see-benchmark/see-segment/see/GeneticSearch.py", line 324, in popfitness for ind, data in zip(tpop, outdata): File "/mnt/home/colbrydi/UserCode/colbrydi/see-benchmark/see-segment/see/base_classes.py", line 162, in runAlgo data = self.pipe(data) File "/mnt/home/colbrydi/UserCode/colbrydi/see-benchmark/see-segment/see/Workflow.py", line 43, in pipe data = algo.pipe(data) File "/mnt/home/colbrydi/UserCode/colbrydi/see-benchmark/see-segment/see/Segment_Fitness.py", line 543, in pipe data.fitness = self.evaluate(data.mask, data.gmask)[0] File "/mnt/home/colbrydi/UserCode/colbrydi/see-benchmark/see-segment/see/Segment_Fitness.py", line 539, in evaluate return FitnessFunction(mask, gmask) File "/mnt/home/colbrydi/UserCode/colbrydi/see-benchmark/see-segment/see/Segment_Fitness.py", line 510, in FitnessFunction return FF_ML2DHD_V2(inferred, ground_truth) File "/mnt/home/colbrydi/UserCode/colbrydi/see-benchmark/see-segment/see/Segment_Fitness.py", line 469, in FF_ML2DHD_V2 ground_truth = color.rgb2gray(ground_truth) # comment out File "/miniconda3/lib/python3.9/site-packages/skimage/_shared/utils.py", line 394, in fixed_func return func(*args, **kwargs) File "/miniconda3/lib/python3.9/site-packages/skimage/color/colorconv.py", line 875, in rgb2gray rgb = _prepare_colorarray(rgb) File "/miniconda3/lib/python3.9/site-packages/skimage/color/colorconv.py", line 140, in _prepare_colorarray raise ValueError(msg) ValueError: the input array must have size 3 along channel_axis, got (1920, 1080, 4)