IC Imaging Control C++

FilterLoader::getAvailableFrameFilters Method

FilterLoader::getAvailableFrameFilters Method

Returns a std::vector of FilterInfo structures containing information about the available frame filters.
static std::vector<FilterInfo> getAvailableFrameFilters( tFilterClass filterClass = eFC_ALL );
Parameter Description

You can restrict the number of filters that will appear in the vector by specifying one or more filter classes. Valid filter classes are members of the tFilterClass enumeration:

Value Description
eFC_GENERIC List filters that are flagged as generic. Generic filters should work in any environment without special knowledge about the parameters.
eFC_INTERNAL List filters that are flagged as internal. Internal filters are not guaranteed to work in generic applications that do not know how to setup the filter's parameters in the required way (e.g. specifying a valid filename for a filter that saves an image buffer).
eFC_ALL List all available frame filters.
Return value:

A std::vector of FilterInfo structures containing information about the available frame filters.


Frame filters are loaded from: i) the directory of the application's executable, ii) the directory of the loaded TIS_UDSHL1X.DLL and iii) the directory specified to setLoadPath.


The following code prints information about the available frame filters to the console:

void printAvailableFrameFilters()
    std::vector<FilterInfo> filterInfos = FilterLoader::getAvailableFrameFilters();
    std::cout << "Available frame filters:" << std::endl;
    for( unsigned int i = 0; i < filterInfos.size(); ++i )
        std::cout << i << ":" << std::endl;
        std::cout << "Name: " << filterInfos[i].getFilterName() << std::endl;
        std::cout << "Module: " << filterInfos[i].getModuleName() << std::endl;
        std::cout << "Path: " << filterInfos[i].getModulePath() << std::endl;
        std::cout << "Filter class: ";
        switch(  filterInfos[i].getFilterClass() )
        case eFC_GENERIC:
            std::cout << "generic" << std::endl;
        case eFC_INTERNAL:
            std::cout << "internal" << std::endl;
            std::cout << "unknown" << std::endl;
    std::cout << std::endl;

See also: FilterLoader, FilterLoader::setLoadPath, FilterLoader::createFilter

<< FilterLoader

Get in touch with us

About The Imaging Source

Established in 1990, The Imaging Source is one of the leading manufacturers of industrial cameras, frame grabbers and video converters for production automation, quality assurance, logistics, medicine, science and security.

Our comprehensive range of cameras with USB 3.1, USB 3.0, USB 2.0, GigE interfaces and other innovative machine vision products are renowned for their high quality and ability to meet the performance requirements of demanding applications.

Automated Imaging Association ISO 9001:2015 certified

Contact us