class_docstr: A setting that specifies an image plane
  
  This setting lets the user pick an image plane. This might be an image
  file, a URL, or a plane from an image stack.
  
  The text setting has four fields, delimited by a space character (which
  is luckily disallowed in a URL:
  
  Field 1: URL
  
  Field 2: series (or None if a space is followed by another)
  
  Field 3: index (or None if blank)
  
  Field 4: channel (or None if blank)
  
  Field 5: Z (or None if blank)
  
  Field 6: T (or None if blank)
class_docstr_tok: ["A","setting","that","specifies","an","image","plane","This","setting","lets","the","user","pick","an","image","plane",".","This","might","be","an","image","file",",","a","URL",",","or","a","plane","from","an","image","stack",".","The","text","setting","has","four","fields",",","delimited","by","a","space","character","(","which","is","luckily","disallowed","in","a","URL",":","Field","1",":","URL","Field","2",":","series","(","or","None","if","a","space","is","followed","by","another",")","Field","3",":","index","(","or","None","if","blank",")","Field","4",":","channel","(","or","None","if","blank",")","Field","5",":","Z","(","or","None","if","blank",")","Field","6",":","T","(","or","None","if","blank",")"]
docstr: Build the string representation of the setting
  
  plane - the ImagePlane object
  
  series - the series for a multi-series stack or None if the whole file
  
  index - the index of the frame for a multi-frame stack or None if
          the whole stack
  
  channel - the channel of an interlaced color image or None if all
            channels
docstr_tok: ["Build","the","string","representation","of","the","setting","plane","-","the","ImagePlane","object","series","-","the","series","for","a","multi-series","stack","or","None","if","the","whole","file","index","-","the","index","of","the","frame","for","a","multi-frame","stack","or","None","if","the","whole","stack","channel","-","the","channel","of","an","interlaced","color","image","or","None","if","all","channels"]
code: def build(plane):
      """Build the string representation of the setting
  
      plane - the ImagePlane object
  
      series - the series for a multi-series stack or None if the whole file
  
      index - the index of the frame for a multi-frame stack or None if
              the whole stack
  
      channel - the channel of an interlaced color image or None if all
                channels
      """
      if not plane:
          return ""
      url = plane.url
      if " " in url:
          # Spaces are not legal characters in URLs, nevertheless, I try
          # to accommodate
          LOGGER.warning(
              "URLs should not contain spaces. %s is the offending URL"
              % url
          )
          url = url.replace(" ", "%20")
      return " ".join(
          [
              str(x) if x is not None else ""
              for x in (
                  url,
                  plane.series,
                  plane.index,
                  plane.channel,
                  plane.z,
                  plane.t,
              )
          ]
      )
  
file_path: CellProfiler/src/subpackages/core/cellprofiler_core/setting/_image_plane.py
imports: import logging
  import pickle
  from ._setting import Setting
  from ._validation_error import ValidationError
label_desc: Use image node_id 2 for calling the ImagePlane obj's underlying member method code with example usage: obj.build(plane) and returns: str, str