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
MPNet: Masked and Permuted Pre-training for Language Understanding

MPNet MPNet: Masked and Permuted Pre-training for Language Understanding, by Kaitao Song, Xu Tan, Tao Qin, Jianfeng Lu, Tie-Yan Liu, is a novel pre-tr

Microsoft 228 Nov 21, 2022
Tensorflow implementation of paper: Learning to Diagnose with LSTM Recurrent Neural Networks.

Multilabel time series classification with LSTM Tensorflow implementation of model discussed in the following paper: Learning to Diagnose with LSTM Re

Aaqib 552 Nov 28, 2022
Machine Learning Course Project, IMDB movie review sentiment analysis by lstm, cnn, and transformer

IMDB Sentiment Analysis This is the final project of Machine Learning Courses in Huazhong University of Science and Technology, School of Artificial I

Daniel 0 Dec 27, 2021
Python wrapper for Stanford CoreNLP tools v3.4.1

Python interface to Stanford Core NLP tools v3.4.1 This is a Python wrapper for Stanford University's NLP group's Java-based CoreNLP tools. It can eit

Dustin Smith 610 Sep 07, 2022
Nested Named Entity Recognition for Chinese Biomedical Text

CBio-NAMER CBioNAMER (Nested nAMed Entity Recognition for Chinese Biomedical Text) is our method used in CBLUE (Chinese Biomedical Language Understand

8 Dec 25, 2022
A demo for end-to-end English and Chinese text spotting using ABCNet.

ABCNet_Chinese A demo for end-to-end English and Chinese text spotting using ABCNet. This is an old model that was trained a long ago, which serves as

Yuliang Liu 45 Oct 04, 2022
Document processing using transformers

Doc Transformers Document processing using transformers. This is still in developmental phase, currently supports only extraction of form data i.e (ke

Vishnu Nandakumar 13 Dec 21, 2022
Rootski - Full codebase for rootski.io (without the data)

📣 Welcome to the Rootski codebase! This is the codebase for the application run

Eric 20 Nov 18, 2022
Simple bots or Simbots is a library designed to create simple bots using the power of python. This library utilises Intent, Entity, Relation and Context model to create bots .

Simple bots or Simbots is a library designed to create simple chat bots using the power of python. This library utilises Intent, Entity, Relation and

14 Dec 15, 2021
A framework for cleaning Chinese dialog data

A framework for cleaning Chinese dialog data

Yida 136 Dec 20, 2022
This repository serves as a place to document a toy attempt on how to create a generative text model in Catalan, based on GPT-2

GPT-2 Catalan playground and scripts to train a GPT-2 model either from scrath or from another pretrained model.

Laura 1 Jan 28, 2022
Text Classification Using LSTM

Text classification is the task of assigning a set of predefined categories to free text. Text classifiers can be used to organize, structure, and categorize pretty much anything. For example, new ar

KrishArul26 3 Jan 03, 2023
A NLP program: tokenize method, PoS Tagging with deep learning

IRIS NLP SYSTEM A NLP program: tokenize method, PoS Tagging with deep learning Report Bug · Request Feature Table of Contents About The Project Built

Zakaria 7 Dec 13, 2022
Using BERT-based models for toxic span detection

SemEval 2021 Task 5: Toxic Spans Detection: Task: Link to SemEval-2021: Task 5 Toxic Span Detection is https://competitions.codalab.org/competitions/2

Ravika Nagpal 1 Jan 04, 2022
Python package for performing Entity and Text Matching using Deep Learning.

DeepMatcher DeepMatcher is a Python package for performing entity and text matching using deep learning. It provides built-in neural networks and util

461 Dec 28, 2022
CDLA: A Chinese document layout analysis (CDLA) dataset

CDLA: A Chinese document layout analysis (CDLA) dataset 介绍 CDLA是一个中文文档版面分析数据集,面向中文文献类(论文)场景。包含以下10个label: 正文 标题 图片 图片标题 表格 表格标题 页眉 页脚 注释 公式 Text Title

buptlihang 84 Dec 28, 2022
This is the Alpha of Nutte language, she is not complete yet / Essa é a Alpha da Nutte language, não está completa ainda

nutte-language This is the Alpha of Nutte language, it is not complete yet / Essa é a Alpha da Nutte language, não está completa ainda My language was

catdochrome 2 Dec 18, 2021
A repo for open resources & information for people to succeed in PhD in CS & career in AI / NLP

A repo for open resources & information for people to succeed in PhD in CS & career in AI / NLP

420 Dec 28, 2022