code: def filter_columns(self, features, object_name):
      if self.pick_columns:
          columns = [
              self.columns.get_measurement_feature(x)
              for x in self.columns.selections
              if self.columns.get_measurement_object(x) == object_name
          ]
          if object_name == IMAGE:
              if IMAGE_NUMBER not in columns:
                  columns.insert(0, IMAGE_NUMBER)
              for agg, wants_it in (
                  (AGG_MEAN, self.wants_aggregate_means),
                  (AGG_MEDIAN, self.wants_aggregate_medians),
                  (AGG_STD_DEV, self.wants_aggregate_std),
              ):
                  if not wants_it:
                      continue
                  for column in self.columns.selections:
                      if self.columns.get_measurement_object(
                          column
                      ) not in (
                          IMAGE,
                          EXPERIMENT,
                          NEIGHBORS,
                      ):
                          columns += [
                              get_agg_measurement_name(
                                  agg,
                                  self.columns.get_measurement_object(
                                      column
                                  ),
                                  self.columns.get_measurement_feature(
                                      column
                                  ),
                              )
                          ]
  
          columns = set(columns)
          features = [x for x in features if x in columns]
      elif object_name == IMAGE:
          # Exclude any thumbnails if they've been created for ExportToDatabase
          features = [
              x for x in features if not x.startswith("Thumbnail_")
          ]
      return features
  
imports: import base64
  import csv
  import logging
  import os
  import numpy
  from cellprofiler_core.constants.image import C_MD5_DIGEST, C_SCALING, C_HEIGHT, C_WIDTH
  from cellprofiler_core.constants.measurement import EXPERIMENT, IMAGE, AGG_MEAN, AGG_MEDIAN, AGG_STD_DEV, C_URL, C_PATH_NAME, C_FILE_NAME, NEIGHBORS, R_FIRST_IMAGE_NUMBER, R_SECOND_IMAGE_NUMBER, R_FIRST_OBJECT_NUMBER, R_SECOND_OBJECT_NUMBER
  from cellprofiler_core.constants.module import IO_FOLDER_CHOICE_HELP_TEXT, IO_WITH_METADATA_HELP_TEXT, USING_METADATA_HELP_REF, USING_METADATA_TAGS_REF
  from cellprofiler_core.constants.pipeline import EXIT_STATUS
  from cellprofiler_core.measurement import Measurements
  from cellprofiler_core.module import Module
  from cellprofiler_core.preferences import ABSOLUTE_FOLDER_NAME
  from cellprofiler_core.preferences import DEFAULT_INPUT_FOLDER_NAME
  from cellprofiler_core.preferences import DEFAULT_INPUT_SUBFOLDER_NAME
  from cellprofiler_core.preferences import DEFAULT_OUTPUT_FOLDER_NAME
  from cellprofiler_core.preferences import DEFAULT_OUTPUT_SUBFOLDER_NAME
  from cellprofiler_core.preferences import get_headless
  from cellprofiler_core.setting import Binary
  from cellprofiler_core.setting import Divider
  from cellprofiler_core.setting import Measurement
  from cellprofiler_core.setting import SettingsGroup
  from cellprofiler_core.setting import ValidationError
  from cellprofiler_core.setting.choice import CustomChoice, Choice
  from cellprofiler_core.setting.do_something import DoSomething, RemoveSettingButton
  from cellprofiler_core.setting.multichoice import MeasurementMultiChoice
  from cellprofiler_core.setting.subscriber import ImageSubscriber, LabelSubscriber
  from cellprofiler_core.setting.text import Directory, Text
  from cellprofiler_core.utilities.core.modules.load_data import is_file_name_feature, is_path_name_feature
  from cellprofiler_core.utilities.measurement import find_metadata_tokens, get_agg_measurement_name
  from cellprofiler.gui.help.content import MEASUREMENT_NAMING_HELP
label_desc: Use image node_id 27 for calling the ExportToSpreadsheet obj's underlying member method code with example usage: obj.filter_columns(features, object_name) and returns: features