# Other Useful INTViewer APIs

[Seismic Trace Processors](/solutions/intviewer/other-useful-intviewer-apis/traceprocess-plugins) - Basic extension mechanism for adding custom algorithms for trace processing

[Seismic Generators](/solutions/intviewer/other-useful-intviewer-apis/seismic-generator-extension) - Basic extension mechanism for adding custom algorithms for data generation

[Data Loaders](/solutions/intviewer/other-useful-intviewer-apis/dataloaders) - Advanced extension mechanism for mapping a file to application data.

[Working with long tasks](/solutions/intviewer/other-useful-intviewer-apis/working-with-long-tasks) - how to create tasks that run in a background thread.

[Mime Types](/solutions/intviewer/other-useful-intviewer-apis/mime-types) - Advanced extension mechanism to recognize the different file types we use

[Working with units](/solutions/intviewer/other-useful-intviewer-apis/working-with-units) - how to discover the vertical unit of a dataset and how to convert quantities expressed in different units

[Working with Coordinate Reference Systems](/solutions/intviewer/other-useful-intviewer-apis/working-with-coordinate-reference-systems) - How to transform coordinates from one CRS to another

[Coordinate System Chooser Service](/solutions/intviewer/other-useful-intviewer-apis/coordinate-system-chooser-service) - Basic extension mechanism for adding or modifying the Coordinate Reference System chooser.

[Workflows](/solutions/intviewer/other-useful-intviewer-apis/creating-a-workflow) - Basic extension mechanism for adding logical grouping of tasks, done in a set order to accomplish a specific goal.

[Using reflection](/solutions/intviewer/other-useful-intviewer-apis/using-reflection) - How to invoke classes dynamically

[Matlab API](/solutions/intviewer/other-useful-intviewer-apis/matlab-api) - How to send and receive data from Matlab