docstr: Convert a row and column as entered by the user to canonical form
  
  The user might select something other than the bottom left as the
  origin of their coordinate space. This method returns a row and
  column using a numbering where the top left corner is 0,0
docstr_tok: ["Convert","a","row","and","column","as","entered","by","the","user","to","canonical","form","The","user","might","select","something","other","than","the","bottom","left","as","the","origin","of","their","coordinate","space",".","This","method","returns","a","row","and","column","using","a","numbering","where","the","top","left","corner","is","0,0"]
code: def canonical_row_and_column(self, row, column):
      """Convert a row and column as entered by the user to canonical form
  
      The user might select something other than the bottom left as the
      origin of their coordinate space. This method returns a row and
      column using a numbering where the top left corner is 0,0
      """
      if self.origin in (NUM_BOTTOM_LEFT, NUM_BOTTOM_RIGHT):
          row = self.grid_rows.value - row
      else:
          row -= 1
      if self.origin in (NUM_TOP_RIGHT, NUM_BOTTOM_RIGHT):
          column = self.grid_columns.value - column
      else:
          column -= 1
      return row, column
  
imports: import logging
  import centrosome.cpmorphology
  import numpy
  from cellprofiler_core.constants.measurement import COLTYPE_FLOAT
  from cellprofiler_core.constants.measurement import COLTYPE_INTEGER
  from cellprofiler_core.constants.measurement import IMAGE
  from cellprofiler_core.image import Image
  from cellprofiler_core.module import Module
  from cellprofiler_core.setting import Binary
  from cellprofiler_core.setting import Coordinates
  from cellprofiler_core.setting import ValidationError
  from cellprofiler_core.setting.choice import Choice
  from cellprofiler_core.setting.subscriber import ImageSubscriber
  from cellprofiler_core.setting.subscriber import LabelSubscriber
  from cellprofiler_core.setting.text import GridName
  from cellprofiler_core.setting.text import ImageName
  from cellprofiler_core.setting.text import Integer
  from cellprofiler_core.utilities.grid import Grid
label_desc: Use image node_id 13 for calling the DefineGrid obj's underlying member method code with example usage: obj.canonical_row_and_column(row, column) and returns: row,  column