# class ChunkedImageData

ChunkedImageData holds chunks for ImageData objects. ImageData objects can be referenced, and swapped in/out of memory, to secondary storage. This is useful for very large images that cannot be stored in-memory. ImageData objects can be indexed in 1-,2- or 3D, and each ImageData chunk is cloned from a source ImageData object, at setup. Fields added to ImageData chunks after setup will only be added into that chunk, and is not recommended.

# Properties

Property Description
Name The name of the ChunkedImageData object. (Inherited from Object)

# Methods

Method Description
AddObserver Adds a user-defined observer object to the interface, that will receive events from the interface. (Inherited from Object)
DeepCopy Deep copies (with template) the data from another image. The source image must be fully unlocked before copying.
GetClass Get the name of the ChunkedImageData class. (Inherited from Object)
GetTemplateXSize The X dimension size of the template image used to create the chunks.
GetTemplateYSize The Y dimension size of the template image used to create the chunks.
GetTemplateZSize The Z dimension size of the template image used to create the chunks.
GetTotalXSize The total X dimension size of the full image.
GetTotalYSize The total Y dimension size of the full image.
GetTotalZSize The total Z dimension size of the full image.
GetXSize The number of image chunks in the X dimension.
GetYSize The number of image chunks in the Y dimension.
GetZSize The number of image chunks in the Z dimension.
IsA Returns true if ChunkedImageData is a or is a descendant of the class named as the type parameter. (Inherited from Object)
IsChunkLocked1D Returns true if a chunk is locked. The method is thread-safe.
IsChunkLocked2D Returns true if a chunk is locked. The method is thread-safe.
IsChunkLocked3D Returns true if a chunk is locked. The method is thread-safe.
IsNull Returns true if the ChunkedImageData object is invalid. (Inherited from Object)
IsSameObjectAs Returns true if the ChunkedImageData object is valid. (Inherited from Object)
LockChunk1D Locks a chunk for editing, and returns an image object to the caller. Only one lock is allowed per chunk. Use IsChunkLocked to check if a chunk is locked before trying to lock it. If the Lock failed, because the chunk is already locked, null is returned. The method is thread-safe.
LockChunk2D Locks a chunk for editing, and returns an image object to the caller. Only one lock is allowed per chunk. Use IsChunkLocked to check if a chunk is locked before trying to lock it. If the Lock failed, because the chunk is already locked, null is returned. The method is thread-safe.
LockChunk3D Locks a chunk for editing, and returns an image object to the caller. Only one lock is allowed per chunk. Use IsChunkLocked to check if a chunk is locked before trying to lock it. If the Lock failed, because the chunk is already locked, null is returned. The method is thread-safe.
NewCopy Makes a new copy of the chunked image data This image must be fully unlocked before copying.
NonNull Returns true if the ChunkedImageData object is valid. (Inherited from Object)
PrintInfo Prints the content/info of the ChunkedImageData object to the log. (Inherited from Object)
RemoveObserver Removes a previously added observer object. (Inherited from Object)
Reset Clears all data from the image, and removes all data fields. The template image is kept, but can be replaced using SetTemplateImage before calling one of the SetXDSize methods. Any lock that was hold in the image is automatically released.
Set1DSize The number of image chunks in the X dimension.
Set2DSize The number of image chunks in the X and Y dimensions.
Set3DSize The number of image chunks in the X, Y and Z dimensions.
SetTemplateImage The template image to use as template for creating new chunks. The template image is cloned, it can be released after the setup. Note that SetTemplateImage must be called before allocating image chunks.
UnlockChunk1D Unlocks a previously referenced chunk. All references to the object should be released. The method is thread-safe.
UnlockChunk2D Unlocks a previously referenced chunk. All references to the object should be released. The method is thread-safe.
UnlockChunk3D Unlocks a previously referenced chunk. All references to the object should be released. The method is thread-safe.

# Static methods

Method Description
IsClassA Returns true if the class is a or is a descendant of the class named as the type parameter. (Inherited from Object)
SafeCast SafeCast makes sure the input object is of a class that can be cast into spChunkedImageData, and if this is the case, returns the object cast into spChunkedImageData. (Inherited from Object)

# Properties details

# Name

The name of the ChunkedImageData object. (Inherited from Object)

    # Methods details

    # AddObserver

    Adds a user-defined observer object to the interface, that will receive events from the interface. (Inherited from Object)

      # DeepCopy

      Deep copies (with template) the data from another image. The source image must be fully unlocked before copying.

        # GetClass

        Get the name of the ChunkedImageData class. (Inherited from Object)

          # GetTemplateXSize

          The X dimension size of the template image used to create the chunks.

            # GetTemplateYSize

            The Y dimension size of the template image used to create the chunks.

              # GetTemplateZSize

              The Z dimension size of the template image used to create the chunks.

                # GetTotalXSize

                The total X dimension size of the full image.

                  # GetTotalYSize

                  The total Y dimension size of the full image.

                    # GetTotalZSize

                    The total Z dimension size of the full image.

                      # GetXSize

                      The number of image chunks in the X dimension.

                        # GetYSize

                        The number of image chunks in the Y dimension.

                          # GetZSize

                          The number of image chunks in the Z dimension.

                            # IsA

                            Returns true if ChunkedImageData is a or is a descendant of the class named as the type parameter. (Inherited from Object)

                              # IsChunkLocked1D

                              Returns true if a chunk is locked. The method is thread-safe.

                                # IsChunkLocked2D

                                Returns true if a chunk is locked. The method is thread-safe.

                                  # IsChunkLocked3D

                                  Returns true if a chunk is locked. The method is thread-safe.

                                    # IsNull

                                    Returns true if the ChunkedImageData object is invalid. (Inherited from Object)

                                      # IsSameObjectAs

                                      Returns true if the ChunkedImageData object is valid. (Inherited from Object)

                                        # LockChunk1D

                                        Locks a chunk for editing, and returns an image object to the caller. Only one lock is allowed per chunk. Use IsChunkLocked to check if a chunk is locked before trying to lock it. If the Lock failed, because the chunk is already locked, null is returned. The method is thread-safe.

                                          # LockChunk2D

                                          Locks a chunk for editing, and returns an image object to the caller. Only one lock is allowed per chunk. Use IsChunkLocked to check if a chunk is locked before trying to lock it. If the Lock failed, because the chunk is already locked, null is returned. The method is thread-safe.

                                            # LockChunk3D

                                            Locks a chunk for editing, and returns an image object to the caller. Only one lock is allowed per chunk. Use IsChunkLocked to check if a chunk is locked before trying to lock it. If the Lock failed, because the chunk is already locked, null is returned. The method is thread-safe.

                                              # NewCopy

                                              Makes a new copy of the chunked image data This image must be fully unlocked before copying.

                                                # NonNull

                                                Returns true if the ChunkedImageData object is valid. (Inherited from Object)

                                                  # PrintInfo

                                                  Prints the content/info of the ChunkedImageData object to the log. (Inherited from Object)

                                                    # RemoveObserver

                                                    Removes a previously added observer object. (Inherited from Object)

                                                      # Reset

                                                      Clears all data from the image, and removes all data fields. The template image is kept, but can be replaced using SetTemplateImage before calling one of the SetXDSize methods. Any lock that was hold in the image is automatically released.

                                                        # Set1DSize

                                                        The number of image chunks in the X dimension.

                                                          # Set2DSize

                                                          The number of image chunks in the X and Y dimensions.

                                                            # Set3DSize

                                                            The number of image chunks in the X, Y and Z dimensions.

                                                              # SetTemplateImage

                                                              The template image to use as template for creating new chunks. The template image is cloned, it can be released after the setup. Note that SetTemplateImage must be called before allocating image chunks.

                                                                # UnlockChunk1D

                                                                Unlocks a previously referenced chunk. All references to the object should be released. The method is thread-safe.

                                                                  # UnlockChunk2D

                                                                  Unlocks a previously referenced chunk. All references to the object should be released. The method is thread-safe.

                                                                    # UnlockChunk3D

                                                                    Unlocks a previously referenced chunk. All references to the object should be released. The method is thread-safe.

                                                                      # Static methods details

                                                                      # IsClassA

                                                                      Returns true if the class is a or is a descendant of the class named as the type parameter. (Inherited from Object)

                                                                        # SafeCast

                                                                        SafeCast makes sure the input object is of a class that can be cast into spChunkedImageData, and if this is the case, returns the object cast into spChunkedImageData. (Inherited from Object)