PCL
pcl::MetaFileFormat Class Referenceabstract

A formal description of an image file format in PixInsight. More...

#include <MetaFileFormat.h>

+ Inheritance diagram for pcl::MetaFileFormat:

Public Member Functions

 MetaFileFormat ()
 
 MetaFileFormat (const MetaFileFormat &)=delete
 
 ~MetaFileFormat () noexcept(false) override
 
bool CanEditPreferences () const override
 
bool CanRead () const override
 
bool CanReadIncrementally () const override
 
bool CanStore16Bit () const override
 
bool CanStore32Bit () const override
 
bool CanStore64Bit () const override
 
bool CanStore8Bit () const override
 
bool CanStoreAlphaChannels () const override
 
bool CanStoreColorFilterArrays () const override
 
bool CanStoreComplex () const override
 
bool CanStoreDComplex () const override
 
bool CanStoreDisplayFunctions () const override
 
bool CanStoreDouble () const override
 
bool CanStoreFloat () const override
 
bool CanStoreGrayscale () const override
 
bool CanStoreICCProfiles () const override
 
bool CanStoreImageProperties () const override
 
bool CanStoreKeywords () const override
 
bool CanStoreProperties () const override
 
bool CanStoreResolution () const override
 
bool CanStoreRGBColor () const override
 
bool CanStoreRGBWS () const override
 
bool CanStoreThumbnails () const override
 
bool CanWrite () const override
 
bool CanWriteIncrementally () const override
 
virtual FileFormatImplementationCreate () const =0
 
String Description () const override
 
void DisposeFormatSpecificData (void *data) const override
 
bool EditPreferences () const override
 
virtual StringList FileExtensions () const override=0
 
Bitmap Icon () const override
 
virtual String IconImageFile () const
 
virtual IsoString IconImageSVG () const
 
virtual String IconImageSVGFile () const
 
virtual const char ** IconImageXPM () const
 
String Implementation () const override
 
bool IsDeprecated () const override
 
IsoStringList MimeTypes () const override
 
virtual IsoString Name () const override=0
 
MetaFileFormatoperator= (const MetaFileFormat &)=delete
 
Bitmap SmallIcon () const override
 
virtual String SmallIconImageFile () const
 
virtual const char ** SmallIconImageXPM () const
 
String Status () const override
 
bool SupportsCompression () const override
 
bool SupportsMultipleImages () const override
 
bool SupportsViewProperties () const override
 
bool UsesFormatSpecificData () const override
 
bool ValidateFormatSpecificData (const void *data) const override
 
uint32 Version () const override
 
- Public Member Functions inherited from pcl::MetaObject
 MetaObject (const MetaObject &)=delete
 
 MetaObject (MetaObject &&x)=delete
 
 MetaObject (MetaObject *parent)
 
virtual ~MetaObject () noexcept(false)
 
size_type Length () const
 
MetaObjectoperator= (const MetaObject &)=delete
 
MetaObjectoperator= (MetaObject &&x)=delete
 
const MetaObjectoperator[] (size_type i) const
 
MetaObjectParent ()
 
const MetaObjectParent () const
 
- Public Member Functions inherited from pcl::FileFormatBase
 FileFormatBase ()
 
virtual ~FileFormatBase () noexcept(false)
 

Additional Inherited Members

- Public Types inherited from pcl::MetaObject
using children_list = IndirectArray< MetaObject >
 

Detailed Description

MetaFileFormat provides a formal description of the basic functionality and properties of an image file format in a PixInsight module.

A module implements an installable file format as a derived class of MetaFileFormat. Such subclass describes general properties of the file format, and also provides the basic mechanisms to instantiate a format and to generate duplicates of existing format instances.

MetaFileFormat and its subclasses don't implement any file handling capabilities. Actual file access work must be implemented through a format instance implementation class, which is always a subclass of the FileFormatImplementation class in the PixInsight/PCL framework.

In PixInsight's terminology, a format instance can be thought of as an image stored as a disk file of the format in question, although the concept of format instances allows for more flexible, generalized interpretations.

Note that the MetaFileFormat and FileFormatImplementation classes are conceptually parallel to MetaProcess and ProcessImplementation, respectively. In the same way, a process is to a format like a process instance is to a format instance in PixInsight. This is just a reflection of the strong object orientation that characterizes the PixInsight platform.

Each file format must have a unique name, or identifier. Identifiers are crucial for many key features of the PixInsight environment, as scripts, the command-line interface, image icons and image containers, etc.

See also
MetaObject, FileFormatBase, FileFormat, FileFormatImplementation, FileFormatInstance

Definition at line 109 of file MetaFileFormat.h.

Constructor & Destructor Documentation

◆ MetaFileFormat() [1/2]

pcl::MetaFileFormat::MetaFileFormat ( )

Constructs a MetaFileFormat object.

◆ ~MetaFileFormat()

pcl::MetaFileFormat::~MetaFileFormat ( )
inlineoverridenoexcept

Destroys a MetaFileFormat object.

Definition at line 121 of file MetaFileFormat.h.

◆ MetaFileFormat() [2/2]

pcl::MetaFileFormat::MetaFileFormat ( const MetaFileFormat )
delete

Copy constructor. This constructor is disabled because MetaFileFormat represents unique server-side objects.

Member Function Documentation

◆ CanEditPreferences()

bool pcl::MetaFileFormat::CanEditPreferences ( ) const
inlineoverridevirtual

Returns true only if this file format implementation allows the user to edit specific format preferences.

If this function returns true, then the EditPreferences() procedure must be reimplemented in a derived class.

The default implementation returns false.

Implements pcl::FileFormatBase.

Definition at line 810 of file MetaFileFormat.h.

◆ CanRead()

bool pcl::MetaFileFormat::CanRead ( ) const
inlineoverridevirtual

Returns true only if this file format implementation can read an entire image in a single operation.

The default implementation returns true.

Implements pcl::FileFormatBase.

Definition at line 462 of file MetaFileFormat.h.

◆ CanReadIncrementally()

bool pcl::MetaFileFormat::CanReadIncrementally ( ) const
inlineoverridevirtual

Returns true only if this file format implementation supports incremental read operations on image files.

Incremental read operations allow the PixInsight core application and other modules to load images by successive row strips.

The default implementation returns false.

Implements pcl::FileFormatBase.

Definition at line 487 of file MetaFileFormat.h.

◆ CanStore16Bit()

bool pcl::MetaFileFormat::CanStore16Bit ( ) const
inlineoverridevirtual

Returns true only if this file format implementation can read/write 16-bit unsigned integer images

The default implementation returns true.

Implements pcl::FileFormatBase.

Definition at line 523 of file MetaFileFormat.h.

◆ CanStore32Bit()

bool pcl::MetaFileFormat::CanStore32Bit ( ) const
inlineoverridevirtual

Returns true only if this file format implementation can read/write 32-bit unsigned integer images

The default implementation returns false.

Implements pcl::FileFormatBase.

Definition at line 534 of file MetaFileFormat.h.

◆ CanStore64Bit()

bool pcl::MetaFileFormat::CanStore64Bit ( ) const
inlineoverridevirtual

Returns true only if this file format implementation can read/write 64-bit unsigned integer images

The default implementation returns false.

Implements pcl::FileFormatBase.

Definition at line 545 of file MetaFileFormat.h.

◆ CanStore8Bit()

bool pcl::MetaFileFormat::CanStore8Bit ( ) const
inlineoverridevirtual

Returns true only if this file format implementation can read/write 8-bit unsigned integer images

The default implementation returns true.

Implements pcl::FileFormatBase.

Definition at line 512 of file MetaFileFormat.h.

◆ CanStoreAlphaChannels()

bool pcl::MetaFileFormat::CanStoreAlphaChannels ( ) const
inlineoverridevirtual

Returns true only if this file format implementation supports alpha image channels.

The default implementation returns true.

Implements pcl::FileFormatBase.

Definition at line 626 of file MetaFileFormat.h.

◆ CanStoreColorFilterArrays()

bool pcl::MetaFileFormat::CanStoreColorFilterArrays ( ) const
inlineoverridevirtual

Returns true only if this file format implementation can store/retrieve color filter array (CFA) descriptions.

The default implementation returns false.

Implements pcl::FileFormatBase.

Definition at line 735 of file MetaFileFormat.h.

◆ CanStoreComplex()

bool pcl::MetaFileFormat::CanStoreComplex ( ) const
inlineoverridevirtual

Returns true only if this file format implementation can read/write 32-bit floating point complex images (IEEE 754 32-bit single precision format for components of complex pixel sample values).

The default implementation returns false.

Implements pcl::FileFormatBase.

Definition at line 581 of file MetaFileFormat.h.

◆ CanStoreDComplex()

bool pcl::MetaFileFormat::CanStoreDComplex ( ) const
inlineoverridevirtual

Returns true only if this file format implementation can read/write 64-bit floating point complex images (IEEE 754 64-bit double precision format for components of complex pixel sample values).

The default implementation returns false.

Implements pcl::FileFormatBase.

Definition at line 593 of file MetaFileFormat.h.

◆ CanStoreDisplayFunctions()

bool pcl::MetaFileFormat::CanStoreDisplayFunctions ( ) const
inlineoverridevirtual

Returns true only if this file format implementation can store/retrieve DisplayFunction objects.

The default implementation returns false.

Implements pcl::FileFormatBase.

Definition at line 724 of file MetaFileFormat.h.

◆ CanStoreDouble()

bool pcl::MetaFileFormat::CanStoreDouble ( ) const
inlineoverridevirtual

Returns true only if this file format implementation can read/write 64-bit floating point real images (IEEE 754 64-bit double precision format for pixel sample values).

The default implementation returns false.

Implements pcl::FileFormatBase.

Definition at line 569 of file MetaFileFormat.h.

◆ CanStoreFloat()

bool pcl::MetaFileFormat::CanStoreFloat ( ) const
inlineoverridevirtual

Returns true only if this file format implementation can read/write 32-bit floating point real images (IEEE 754 32-bit single precision format for pixel sample values).

The default implementation returns false.

Implements pcl::FileFormatBase.

Definition at line 557 of file MetaFileFormat.h.

◆ CanStoreGrayscale()

bool pcl::MetaFileFormat::CanStoreGrayscale ( ) const
inlineoverridevirtual

Returns true only if this file format implementation can read/write grayscale pixel data.

The default implementation returns true.

Implements pcl::FileFormatBase.

Definition at line 604 of file MetaFileFormat.h.

◆ CanStoreICCProfiles()

bool pcl::MetaFileFormat::CanStoreICCProfiles ( ) const
inlineoverridevirtual

Returns true only if this file format implementation can embed/extract ICC color profiles.

The default implementation returns false.

Implements pcl::FileFormatBase.

Definition at line 659 of file MetaFileFormat.h.

◆ CanStoreImageProperties()

bool pcl::MetaFileFormat::CanStoreImageProperties ( ) const
inlineoverridevirtual

Returns true only if this file format implementation can store/retrieve properties associated with individual images.

The default implementation returns false.

See also
CanStoreProperties(), SupportsViewProperties()

Implements pcl::FileFormatBase.

Definition at line 702 of file MetaFileFormat.h.

◆ CanStoreKeywords()

bool pcl::MetaFileFormat::CanStoreKeywords ( ) const
inlineoverridevirtual

Returns true only if this file format implementation can embed/extract FITS header keyword collections.

The default implementation returns false.

Implements pcl::FileFormatBase.

Definition at line 648 of file MetaFileFormat.h.

◆ CanStoreProperties()

bool pcl::MetaFileFormat::CanStoreProperties ( ) const
inlineoverridevirtual

Returns true only if this file format implementation can store/retrieve data properties associated with format instances or image files.

Note
Don't confuse this member function with CanStoreImageProperties(). This function returns true if the implementation can store properties associated with an entire file or format instance, while CanStoreImageProperties() returns true if the implementation can store properties associated with individual images.

The default implementation returns false.

See also
CanStoreImageProperties(), SupportsViewProperties()

Implements pcl::FileFormatBase.

Definition at line 689 of file MetaFileFormat.h.

◆ CanStoreResolution()

bool pcl::MetaFileFormat::CanStoreResolution ( ) const
inlineoverridevirtual

Returns true only if this file format implementation can store/retrieve image resolution data.

The default implementation returns false.

Implements pcl::FileFormatBase.

Definition at line 637 of file MetaFileFormat.h.

◆ CanStoreRGBColor()

bool pcl::MetaFileFormat::CanStoreRGBColor ( ) const
inlineoverridevirtual

Returns true only if this file format implementation can read/write RGB color pixel data.

The default implementation returns true.

Implements pcl::FileFormatBase.

Definition at line 615 of file MetaFileFormat.h.

◆ CanStoreRGBWS()

bool pcl::MetaFileFormat::CanStoreRGBWS ( ) const
inlineoverridevirtual

Returns true only if this file format implementation can store/retrieve RGB working space data.

The default implementation returns false.

Implements pcl::FileFormatBase.

Definition at line 713 of file MetaFileFormat.h.

◆ CanStoreThumbnails()

bool pcl::MetaFileFormat::CanStoreThumbnails ( ) const
inlineoverridevirtual

Returns true only if this file format implementation can embed/extract thumbnail images.

The default implementation returns false.

Implements pcl::FileFormatBase.

Definition at line 670 of file MetaFileFormat.h.

◆ CanWrite()

bool pcl::MetaFileFormat::CanWrite ( ) const
inlineoverridevirtual

Returns true only if this file format implementation can write an entire image in a single operation.

The default implementation returns true.

Implements pcl::FileFormatBase.

Definition at line 473 of file MetaFileFormat.h.

◆ CanWriteIncrementally()

bool pcl::MetaFileFormat::CanWriteIncrementally ( ) const
inlineoverridevirtual

Returns true only if this file format implementation supports incremental write operations on image files.

Incremental write operations allow the PixInsight core application and other modules to write images by successive row strips.

The default implementation returns false.

Implements pcl::FileFormatBase.

Definition at line 501 of file MetaFileFormat.h.

◆ Create()

virtual FileFormatImplementation* pcl::MetaFileFormat::Create ( ) const
pure virtual

Creates a new instance of this file format.

Typically, we have a MetaFileFormat descendant class describing an image file format in generic terms, and a FileFormatImplementation descendant class implementing format instantiation (i.e. doing actual file reading, writing, embedding, etc.).

Note
This is a pure virtual function that must be reimplemented in all derived classes.

◆ Description()

String pcl::MetaFileFormat::Description ( ) const
inlineoverridevirtual

Returns a brief description text for this file format.

This function must provide a simple, typically single-line, description of this image file format for quick reference. Example: "Flexible Image Transport System". The Implementation() member function has been designed to provide a more complete description of a format's functionality and capabilities.

Note
The default implementation of this function returns an empty string, so by default a format does not provide a description. This is legal, but it is considered bad practice, so this function should be reimplemented.

Implements pcl::FileFormatBase.

Definition at line 185 of file MetaFileFormat.h.

◆ DisposeFormatSpecificData()

void pcl::MetaFileFormat::DisposeFormatSpecificData ( void *  data) const
overridevirtual

Disposes a format-specific data block.

File formats that use format-specific data reimplement this function to destroy and deallocate, as appropriate, their own format-specific data structures.

This function will be called by the PixInsight core application with the data argument pointing to the beginning of a format-specific data block. This function will only be called after validation of the data block by ValidateFormatSpecificData().

Implements pcl::FileFormatBase.

◆ EditPreferences()

bool pcl::MetaFileFormat::EditPreferences ( ) const
overridevirtual

Handles a request to edit format preferences. Returns true iff the preferences were successfully edited.

When implemented, this procedure should open a dialog box to let the user edit format-specific preferences and operating options. This function should only return true if the user accepts the new settings (e.g. by clicking the dialog's OK button).

Note
This member function will never be called if the CanEditPreferences() member function is not reimplemented to return true.

Implements pcl::FileFormatBase.

◆ FileExtensions()

virtual StringList pcl::MetaFileFormat::FileExtensions ( ) const
overridepure virtual

Returns the list of file extensions associated to this file format.

The returned list must be a sequence of ".xxx...x" strings in priority order. Examples: ".fit", ".fits", ".fts".

Implements pcl::FileFormatBase.

◆ Icon()

Bitmap pcl::MetaFileFormat::Icon ( ) const
overridevirtual

Returns a large icon image that identifies this format.

The returned image is used to identify all instances of this format (e.g., images and files) in the core application's GUI. It is used on the Format Explorer window, on image icons of this format, and in general for every graphical item related to this format or to an instance of this format.

Implements pcl::FileFormatBase.

◆ IconImageFile()

virtual String pcl::MetaFileFormat::IconImageFile ( ) const
inlinevirtual

Returns a large icon for this format as a path specification to an existing image file.

Supported image file formats include PNG, XPM, JPG and BMP.

For details on format icon images, see the documentation for IconImageXPM().

Note
The default implementation of this function returns an empty string.
Deprecated:
This member function has been deprecated since core version 1.8.8-6. It is still available for compatibility with existing modules that depend on it, but it will be removed in a future version of PCL. All newly produced code must use IconImageSVG() or IconImageSVGFile() to define file format icons in SVG format. Existing modules should also be refactored in the same way to support scalable icons.
See also
IconImageXPM()

Definition at line 387 of file MetaFileFormat.h.

◆ IconImageSVG()

virtual IsoString pcl::MetaFileFormat::IconImageSVG ( ) const
inlinevirtual

Returns the icon image of this file format as a document in SVG format.

The specified image will be used to identify all instances of this file format in the core application's GUI. It will be used on the Format Explorer window, on image icons of this format, and in general for every graphical item related to this format or to an instance of this format.

The returned string must be the source code of a valid SVG document representing the icon image, encoded in UTF-8.

Since core version 1.8.8-6, all process, interface and file format icons should be specified in SVG format. Raster formats, such as XPM and PNG, have been deprecated for this purpose.

If both this function and IconImageSVGFile() return an empty string, or if the specified SVG document does not exist or is not valid, a default icon will be assigned to this format automatically by the PixInsight core application.

Note
The default implementation of this function returns an empty string.
See also
IconImageSVGFile()

Definition at line 263 of file MetaFileFormat.h.

◆ IconImageSVGFile()

virtual String pcl::MetaFileFormat::IconImageSVGFile ( ) const
inlinevirtual

Returns the icon image of this file format as a document in SVG format, stored as an external file.

The specified image will be used to identify all instances of this file format in the core application's GUI. It will be used on the Format Explorer window, on image icons of this format, and in general for every graphical item related to this format or to an instance of this format.

The returned string must be a path to an existing file in the local file system (remote resources are not supported in current PCL versions), which must store a valid SVG document representing the icon image. The SVG source code must be encoded in UTF-8.

Since core version 1.8.8-6, all process, interface and file format icons should be specified in SVG format. Raster formats, such as XPM and PNG, have been deprecated for this purpose.

If both this function and IconImageSVG() return an empty string, or if the specified SVG document does not exist or is not valid, a default icon will be assigned to this format automatically by the PixInsight core application.

Automatic Resource Location

Format icon image files can be loaded from arbitrary locations on the local file system. However, modules typically install their file format icons on the /rsc/icons/module directory under the local PixInsight installation. A module can specify the "@module_icons_dir/" prefix in icon file paths to let the PixInsight core application load the corresponding SVG documents from the appropriate standard distribution directory automatically. For example, suppose that a "Bar" file format, pertaining to a "Foo" module, reimplements this member function in its MetaFileFormat derived class as follows:

class Bar : public MetaFileFormat
{
public:
...
String IconImageSVGFile() const override
{
return "@module_icons_dir/Bar.svg";
}
...
};
virtual String IconImageSVGFile() const

Then the core application will attempt to load the following SVG file:

<install-dir>/rsc/icons/module/Foo/Bar.svg

where <install-dir> is the local directory where the running PixInsight core application is installed.

Note
The default implementation of this function returns an empty string.
See also
IconImageSVG()

Definition at line 330 of file MetaFileFormat.h.

◆ IconImageXPM()

virtual const char** pcl::MetaFileFormat::IconImageXPM ( ) const
inlinevirtual

Returns a large icon for this format as an image in the standard XPM format.

The specified image will be used to identify all instances of this file format in the core application's GUI. It will be used on the Format Explorer window, on image icons of this format, and in general for every graphical item related to this format or to an instance of this format.

32-bit RGBA color images (including an alpha channel) are fully supported.

If this function returns nullptr, a default icon will be assigned to this file format automatically.

Note
The default implementation of this function returns nullptr.
Deprecated:
This member function has been deprecated since core version 1.8.8-6. It is still available for compatibility with existing modules that depend on it, but it will be removed in a future version of PCL. All newly produced code must use IconImageSVG() or IconImageSVGFile() to define file format icons in SVG format. Existing modules should also be refactored in the same way to support scalable icons.
See also
IconImageFile()

Definition at line 361 of file MetaFileFormat.h.

◆ Implementation()

String pcl::MetaFileFormat::Implementation ( ) const
inlineoverridevirtual

Returns a descriptive text about this implementation of a particular image file format.

This function must provide a brief but sufficiently informative description of this file format implementation. The returned description will appear on the Format Explorer window, and should provide information about how this format has been implemented in a module. Avoid too exhaustive descriptions that are better reserved for a technical manual. Avoid also describing a file format itself; the information given should not intend to replace an official/formal definition of an image format.

Descriptions of file format implementations are always written on PixInsight consoles. This means that the text output functionality of the Console class can be used to format the string returned by this function. Refer to that class and its documentation for further information.

Note
The default implementation of this function returns an empty string, so by default a format does not provide an implementation description. This is legal, but it is considered bad practice, so this function should be reimplemented.

Implements pcl::FileFormatBase.

Definition at line 212 of file MetaFileFormat.h.

◆ IsDeprecated()

bool pcl::MetaFileFormat::IsDeprecated ( ) const
inlineoverridevirtual

Returns true only if this file format has been deprecated or declared obsolete on the PixInsight platform.

When this function returns true, the Status() member function should also return information about the current status of this file format, including an explanation of the reasons for deprecation.

The default implementation returns false.

Implements pcl::FileFormatBase.

Definition at line 841 of file MetaFileFormat.h.

◆ MimeTypes()

IsoStringList pcl::MetaFileFormat::MimeTypes ( ) const
inlineoverridevirtual

Returns a list of MIME types corresponding to the data supported by this file format.

The returned list must be a sequence of "media_type/content_type" items approved by IANA (see http://www.iana.org/assignments/media-types/), for example: "image/fits", "application/fits".

Providing a list of MIME types is not mandatory, but highly recommended for all format support modules implementing standard (i.e., recognized by IANA) image formats.

Note
The default implementation of this function returns an empty string list, so by default a format does not provide a set of supported MIME types. This is legal, but considered bad practice when the format implements a standard image format recognized by IANA.

Implements pcl::FileFormatBase.

Definition at line 162 of file MetaFileFormat.h.

◆ Name()

virtual IsoString pcl::MetaFileFormat::Name ( ) const
overridepure virtual

Returns the identifier of this file format (also known as the format name).

File format identifiers are unique, valid C identifiers. Examples: "FITS", "TIFF", "JPEG2000".

Implements pcl::FileFormatBase.

◆ operator=()

MetaFileFormat& pcl::MetaFileFormat::operator= ( const MetaFileFormat )
delete

Copy assignment. This operator is disabled because MetaFileFormat represents unique server-side objects.

◆ SmallIcon()

Bitmap pcl::MetaFileFormat::SmallIcon ( ) const
overridevirtual

Returns a small icon image that identifies this format.

For details on format icon images, see the documentation for Icon().

Small icons are used on interface elements where screen space must be preserved. Two good examples are the Format Explorer window and the ImageContainer interface.

Implements pcl::FileFormatBase.

◆ SmallIconImageFile()

virtual String pcl::MetaFileFormat::SmallIconImageFile ( ) const
inlinevirtual

Returns a small icon for this format as a path specification to an existing image file.

Supported image file formats include PNG, XPM, JPG and BMP.

For details on small format icon images, see the documentation for SmallIconImageXPM().

Deprecated:
This member function has been deprecated since core version 1.8.8-6. It is still available for compatibility with existing modules that depend on it, but it will be removed in a future version of PCL. All newly produced code must use IconImageSVG() or IconImageSVGFile() to define file format icons in SVG format. Existing modules should also be refactored in the same way to support scalable icons.
See also
SmallIconImageXPM()

Definition at line 443 of file MetaFileFormat.h.

◆ SmallIconImageXPM()

virtual const char** pcl::MetaFileFormat::SmallIconImageXPM ( ) const
inlinevirtual

Returns a small icon for this format as an image in the standard XPM format.

For details on format icon images, see the documentation for IconImageXPM().

Small icons are used on interface elements where screen space must be preserved. Two good examples are the Format Explorer window and the ImageContainer interface.

When this function is not reimplemented in a derived class, the core PixInsight application automatically generates a small icon by resampling down the large icon provided by IconImageXPM().

You normally should not need to reimplement this function; the core application does a fine work resampling large icons to obtain reduced versions.

Deprecated:
This member function has been deprecated since core version 1.8.8-6. It is still available for compatibility with existing modules that depend on it, but it will be removed in a future version of PCL. All newly produced code must use IconImageSVG() or IconImageSVGFile() to define file format icons in SVG format. Existing modules should also be refactored in the same way to support scalable icons.
See also
SmallIconImageFile()

Definition at line 420 of file MetaFileFormat.h.

◆ Status()

String pcl::MetaFileFormat::Status ( ) const
inlineoverridevirtual

Returns a description of the current status of this file format implementation.

This function should return an empty string for normal file format implementations. Exceptions to this rule are obsolete or deprecated file formats (see the IsDeprecated() member function), deficient implementations, or other special cases where the user should be aware of important potential problems or limitations.

The output of this function should be essentially plain text with basic HTML tags. No console tags should be used.

Note
The default implementation of this function returns an empty string, so by default a format does not provide any status information.

Implements pcl::FileFormatBase.

Definition at line 233 of file MetaFileFormat.h.

◆ SupportsCompression()

bool pcl::MetaFileFormat::SupportsCompression ( ) const
inlineoverridevirtual

Returns true only if this file format implementation supports compression of pixel data.

This refers to compression of source pixels, not to native compression schemes used by some file formats.

For examle, the compression schemes employed in the JPEG and JPEG2000 formats must not cause this member function to return true. The optional ZIP and LZW compressions used in TIFF are the exact kind of compressions that must cause this member function to return true.

The default implementation returns false.

Implements pcl::FileFormatBase.

Definition at line 754 of file MetaFileFormat.h.

◆ SupportsMultipleImages()

bool pcl::MetaFileFormat::SupportsMultipleImages ( ) const
inlineoverridevirtual

Returns true only if this file format implementation supports multiple images stored in a single file.

For example, multiple images (e.g., taken with different filters) can be stored in FITS files by means of FITS image extensions, forming a data cube of several images with the same dimensions, or even a collection of independent images.

The default implementation returns false.

Implements pcl::FileFormatBase.

Definition at line 770 of file MetaFileFormat.h.

◆ SupportsViewProperties()

bool pcl::MetaFileFormat::SupportsViewProperties ( ) const
inlineoverridevirtual

Returns true only if this file format implementation supports data properties of different data types such as Float64, UI32Vector, String, Complex32, etc.

If this member function returns true, a reimplementation of CanStoreProperties() and/or CanStoreImageProperties() (depending on format capabilities) must also return true, and the format must implement all property data types supported by View objects. For information on supported view property types, see the VTYPE_XXX predefined constants in PCL API headers.

This function should return false if this format only supports storage of BLOB properties, represented as ByteArray objects, or a limited subset of view property types.

The default implementation returns false.

See also
CanStoreProperties(), CanStoreImageProperties(), View::PropertyValue(), View::SetPropertyValue()

Implements pcl::FileFormatBase.

Definition at line 796 of file MetaFileFormat.h.

◆ UsesFormatSpecificData()

bool pcl::MetaFileFormat::UsesFormatSpecificData ( ) const
inlineoverridevirtual

Returns true only if this file format implementation uses format-specific data.

Format-specific data are preserved on a per-instance (say per-file) basis by the PixInsight application, who actually knows nothing about them.

The default implementation returns false.

See also
ValidateFormatSpecificData(), DisposeFormatSpecificData()

Implements pcl::FileFormatBase.

Definition at line 826 of file MetaFileFormat.h.

◆ ValidateFormatSpecificData()

bool pcl::MetaFileFormat::ValidateFormatSpecificData ( const void *  data) const
overridevirtual

Validates a format-specific data block.

File formats that use format-specific data reimplement this function to validate format-specific data structures. If this function returns true, that means that the passed data block is a valid format-specific data structure for this file format implementation.

This function will be called by the PixInsight core application for validation of the data block before calling FileFormatImplementation::SetFormatSpecificData() and DisposeFormatSpecificData().

Implements pcl::FileFormatBase.

◆ Version()

uint32 pcl::MetaFileFormat::Version ( ) const
overridevirtual

Returns a version number for this file format, encoded as a hexadecimal number.

For example, version 1.0.5 should be returned as 0x105, and version 3.11.5 as 0x3B5. The default return value is 0x100, corresponding to version 1.0.0.

Implements pcl::FileFormatBase.


The documentation for this class was generated from the following file: