class_docstr: The containing dialog and controller for the embedding
  and the image viewer that together make up an analysis
  (i.e. a user selection at an hSNE scale). It also
  iterates over the embedding once the analysis is created
  and this is dynamically displayed in the embedding gui.
docstr: Colors settings from a metadata viewer.
  The color_array is a numpy array of #XXXXXX colors for all data points. This
  needs to be filtered for the landmarks in this analysis
docstr_tok: ["Colors","settings","from","a","metadata","viewer",".","The","color_array","is","a","numpy","array","of","#","XXXXXX","colors","for","all","data","points",".","This","needs","to","be","filtered","for","the","landmarks","in","this","analysis"]
code: def on_meta_colors(self, color_array):
      """Colors settings from a metadata viewer.
      The color_array is a numpy array of #XXXXXX colors for all data points. This
      needs to be filtered for the landmarks in this analysis"""
  
      # print(self.analysis.landmark_orig_indexes)
      analysis_colors = color_array[self.analysis.landmark_orig_indexes]
      # print(analysis_colors)
      self.embedding_viewer.set_face_colors(analysis_colors)
  
imports: import time
  import numpy
  from PyQt5 import QtWidgets
  from EmbeddingGui import EmbeddingViewer
  from ModelGui import DemoType
  from CompositeImageViewer import CompositeImageViewer
  from HyperspectralImageViewer import HyperspectralImageViewer
  from MetaDataViewer import MetaDataViewer
label_desc: Use image node_id 10 for calling the AnalysisController obj's underlying member method code with example usage: obj.on_meta_colors(color_array) without return types