Treemap visualisation of Maya scene files

Overview

Ever wondered which nodes are responsible for that 600 mb+ Maya scene file?

Features

  • Fast, resizable UI
  • Parsing at 50 mb/sec
  • Dependency-free, single-file install
  • Script Editor support
  • Terminal support
  • Percentage of total size per node
  • Color-coded node types
  • Click to copy node name to clipboard
  • Click to select node in Maya
  • Tooltip with full node name

Roadmap

  • Group by hierarchy SpaceSniffer has the ability to "zoom out" by grouping hierarchies under one large box. That would help snuff out those huge groups with thousands of offset groups and metadata stored as strings.
  • More metadata Hovering takes a while since it's a tooltip. Would be good having not only a faster and more visible popup, but also the full path (rather than just the name) along with parent, number of children, number of attributes, number of connections etc. To help make the decision to kill easier
  • Click to kill Modify the file directly, by removing any offending nodes you know aren't used or necessary.
  • Visualise plug-ins Spot and kill viruses like Turtle on-sight, with one click
  • Live Refresh Just a button to refresh current scene without re-launching the UI
  • Density Graph Just a graph, one point per node, sorted by size. It'll show whether size comes from a few dense nodes, or lots of smaller ones.
  • Heatmap Click button to put a surface shader on all renderable geometry, color all curves, with red being large, black being small. To demonstrate interactively in 3d where size comes from.
  • Visualise Connections These are currently ignored, but sometimes occupy >30% of the file. Include these, somehow..
  • Visualise Maya Preferences These are sometimes stored with the scene file, can get large, but aren't part of any node (?)
  • Responsive UI during parse Parse in a thread, and let the user know about progress. It's plain-old line-by-line reading, so we can get a pretty accurate percentage out of it.

Pull-requests are welcome.

sniffselect


Install

It's a single file, no dependencies.

  1. Download maya_sniffer.py
  2. Store in ~/maya/scripts, e.g. c:\Users\marcus\Documents\maya\scripts
  3. See Usage below

Usage

From the Script Editor.

import maya_sniffer
maya_sniffer.show()

From a terminal.

python maya_sniffer.py c:\path\to\scene.ma

Here's the currently coloured node types.

Color Node Type
transform
nurbsCurve
mesh
joint
camera
skinCluster
dagPose
animCurve

Why?

Whenever I run out of diskspace, I use a free Windows utility called SpaceSniffer. 2 minutes later, I've got the space I was looking for along with a greater understanding of where space typically ends up.

I wanted something like this for Maya.


How it works

Maya Sniffer counts the number of ASCII characters used when saving each node to disk.

That's it.

It's real silly and doesn't tell you how complex or heavy your scene is at run-time. Instead, it'll give you an approximation of where size is and how to recover it.


Showcase

Resizable UI

maya_sniffer

Script Editor

image

Standalone

Requires Python 2/3 and PySide2

image

Owner
Marcus Ottosson
Computer Artist
Marcus Ottosson
Tools, wrappers, etc... for data science with a concentration on text processing

Rosetta Tools for data science with a focus on text processing. Focuses on "medium data", i.e. data too big to fit into memory but too small to necess

207 Nov 22, 2022
Code for using and evaluating SpanBERT.

SpanBERT This repository contains code and models for the paper: SpanBERT: Improving Pre-training by Representing and Predicting Spans. If you prefer

Meta Research 798 Dec 30, 2022
lightweight, fast and robust columnar dataframe for data analytics with online update

streamdf Streamdf is a lightweight data frame library built on top of the dictionary of numpy array, developed for Kaggle's time-series code competiti

23 May 19, 2022
Pytorch NLP library based on FastAI

Quick NLP Quick NLP is a deep learning nlp library inspired by the fast.ai library It follows the same api as fastai and extends it allowing for quick

Agis pof 283 Nov 21, 2022
A python gui program to generate reddit text to speech videos from the id of any post.

Reddit text to speech generator A python gui program to generate reddit text to speech videos from the id of any post. Current functionality Generate

Aadvik 17 Dec 19, 2022
ALBERT: A Lite BERT for Self-supervised Learning of Language Representations

ALBERT ***************New March 28, 2020 *************** Add a colab tutorial to run fine-tuning for GLUE datasets. ***************New January 7, 2020

Google Research 3k Dec 26, 2022
Application to help find best train itinerary, uses speech to text, has a spam filter to segregate invalid inputs, NLP and Pathfinding algos.

T-IAI-901-MSC2022 - GROUP 18 Gestion de projet Notre travail a été organisé et réparti dans un Trello. https://trello.com/b/X3s2fpPJ/ia-projet Install

1 Feb 05, 2022
PyTorch Implementation of the paper Single Image Texture Translation for Data Augmentation

SITT The repo contains official PyTorch Implementation of the paper Single Image Texture Translation for Data Augmentation. Authors: Boyi Li Yin Cui T

Boyi Li 52 Jan 05, 2023
Ask for weather information like a human

weather-nlp About Ask for weather information like a human. Goals Understand typical questions like: Hourly temperatures in Potsdam on 2020-09-15. Rai

5 Oct 29, 2022
Galois is an auto code completer for code editors (or any text editor) based on OpenAI GPT-2.

Galois is an auto code completer for code editors (or any text editor) based on OpenAI GPT-2. It is trained (finetuned) on a curated list of approximately 45K Python (~470MB) files gathered from the

Galois Autocompleter 91 Sep 23, 2022
NLP and Text Generation Experiments in TensorFlow 2.x / 1.x

Code has been run on Google Colab, thanks Google for providing computational resources Contents Natural Language Processing(自然语言处理) Text Classificati

1.5k Nov 14, 2022
NLTK Source

Natural Language Toolkit (NLTK) NLTK -- the Natural Language Toolkit -- is a suite of open source Python modules, data sets, and tutorials supporting

Natural Language Toolkit 11.4k Jan 04, 2023
Simple, Fast, Powerful and Easily extensible python package for extracting patterns from text, with over than 60 predefined Regular Expressions.

patterns-finder Simple, Fast, Powerful and Easily extensible python package for extracting patterns from text, with over than 60 predefined Regular Ex

22 Dec 19, 2022
Guide to using pre-trained large language models of source code

Large Models of Source Code I occasionally train and publicly release large neural language models on programs, including PolyCoder. Here, I describe

Vincent Hellendoorn 947 Dec 28, 2022
Using context-free grammar formalism to parse English sentences to determine their structure to help computer to better understand the meaning of the sentence.

Sentance Parser Executing the Program Make sure Python 3.6+ is installed. Install requirements $ pip install requirements.txt Run the program:

Vaibhaw 12 Sep 28, 2022
Translate - a PyTorch Language Library

NOTE PyTorch Translate is now deprecated, please use fairseq instead. Translate - a PyTorch Language Library Translate is a library for machine transl

775 Dec 24, 2022
The ibet-Prime security token management system for ibet network.

ibet-Prime The ibet-Prime security token management system for ibet network. Features ibet-Prime is an API service that enables the issuance and manag

BOOSTRY 8 Dec 22, 2022
Unsupervised text tokenizer for Neural Network-based text generation.

SentencePiece SentencePiece is an unsupervised text tokenizer and detokenizer mainly for Neural Network-based text generation systems where the vocabu

Google 6.4k Jan 01, 2023
Translate U is capable of translating the text present in an image from one language to the other.

Translate U is capable of translating the text present in an image from one language to the other. The app uses OCR and Google translate to identify and translate across 80+ languages.

Neelanjan Manna 1 Dec 22, 2021